Axis2 MTOM Web服务和.NET客户端使用它

时间:2010-08-26 01:35:31

标签: c# .net web-services axis2 mtom

所以我将这个新的Axis2 MTOM Web服务正确地提供给基于Java的Web服务客户端。

当我尝试将服务(或Web)引用添加到vs2008并将其与生成的代码一起使用时,问题就出现了。到现在为止,一切都好......这就是发生的事情:

  1. 我们创造必要的对象 (客户,请求和参数 对象)
  2. 我们致电服务
  3. 收到回复时,会抛出此消息的异常:

  4.   Client found response content type of 'multipart/related; 
      boundary=MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454; 
      type="application/xop+xml"; start="
      <0.urn:uuid:6C47CADDECCCB90D951282776406455@apache.org>"; start-info="text/xml"', 
      but expected 'text/xml'.
    
      The request failed with the error message:
    
    
    MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454
    Content-Type: application/xop+xml; charset=utf-8; type="text/xml"
    Content-Transfer-Encoding: binary
    Content-ID: <0.urn:uuid:6C47CADDECCCB90D951282776406455@apache.org>
    
    <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><ns:sendImageResponse xmlns:ns="http://org/company/ws/services/filetransfer/"><ns:return xmlns:ax213="http://filetransfer.objects.ws.company.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax215="http://filetransfer.responses.objects.ws.company.com/xsd" xsi:type="ax215:SendImageResponse"><ax215:errorCode>1060</ax215:errorCode><ax215:errorMessage>Error ejecutando el servicio</ax215:errorMessage><ax215:output>1060</ax215:output></ns:return></ns:sendImageResponse></soapenv:Body></soapenv:Envelope>
    MIMEBoundaryurn_uuid_6C47CADDECCCB90D951282776406454
    

    或问题是

    ¿如何将axis2 webservice的响应设置为非mimetype?

1 个答案:

答案 0 :(得分:4)

您需要在配置中使用MTOM编码。请参阅MSDN中的简单example以将其与wsHttpBinding一起使用(也应该可以使用basicHttpBinding)。检查描述使用自定义绑定使用oracle Web服务的article。如果您想尝试示例中给出的自定义绑定,您可能需要将messageVersion设置为Soap11而不是Soap12。