2012-03-02 85 views
0

我调用由外部合作伙伴公司提供的Web服务。 Web服务以字节数组的形式返回文件(.pdf,.dox,.png,...)。从Web服务响应标头获取MIME类型

如果我需要获得报头信息(详细情况我感兴趣的内容类型的数据)的代码,我怎么能得到这个信息?

就我们而言,我们使用VS 2010和C#作为语言。

下面的代码:

var client = new PublicService(); 
wsRequest request = new wsRequest(); 

var docInfo = new documentInfo(); 
docInfo.documentId = HSdocumentID; 
docInfo.position = 1; 

request.documentInfos = { docInfo }; 
byte[] doc = client.deliver(deliverRequest); //returns the file as byte array 
+0

您打电话的Web服务的类型是什么?它是基于SOAP的Web服务,还是REST风格的Web服务? – CSharpenter 2012-03-02 13:13:57

+0

这是一个SOAP Web服务。 Teh合作伙伴公司的开发人员对我说,在Web服务的响应头中有关于内容类型的数据。我的问题是如何从我的代码中提取这些信息? – Francesco 2012-03-02 13:24:10

+0

如果您有权访问Web服务的WSDL,请发布所需Web方法的SOAP请求/响应示例 – CSharpenter 2012-03-02 13:28:17

回答

0

响应头看起来像:

<?xml version="1.0" ?> 
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> 
    <S:Body><ns2:deliverResponse xmlns:ns2="http://www.dalle.com/webservices/record/2012a"> 
    <return> 
     <Include xmlns="http://www.w3.org/2004/08/xop/include" 
         href="cid:[email protected]"/> 
    </return></ns2:deliverResponse></S:Body></S:Envelope> 

Content-Id: <[email protected]> 
Content-Transfer-Encoding: binary 
Content-Type: application/pdf <-- THIS IS THE INFO I NEED TO GET 

退房是否有在Web方法调用回答你的问题SOAP头

在web方法上,我没有任何引用标题的属性/属性。有没有一种通用的方式来获得响应头或是应该提供功能来获取它的Web服务?

(我提供了一个答案,而不是评论,由于要复制的代码)