当前位置: 首页 > 知识库问答 >
问题:

XOP+XML与SOAP+XML之间的WCF类型不匹配

史高阳
2023-03-14

我正在尝试连接到一个描述为.wsdl文件的第三方服务。我不能提供整个文件,因为它太长了,但重要的部分是:

<wsdl:port name="ec2HttpSoap12Endpoint" binding="tns:ec2Soap12Binding">
  <soap12:address location="<service url>.ec2HttpSoap12Endpoint/"/>
</wsdl:port>

<wsdl:binding name="ec2Soap12Binding" type="tns:ec2PortType">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <wsdl:operation name="someOperation">
    <soap12:operation soapAction="urn:someOperation" style="document"/>
    <wsdl:input>
      <soap12:body use="literal"/>
    </wsdl:input>
    <wsdl:output>
      <soap12:body use="literal"/>
    </wsdl:output>
  </wsdl:operation>
  ...
</wsdl:binding>

我的代码很简单:

ec2PortTypeClient client = new ec2PortTypeClient("ec2HttpSoap12Endpoint", "<service url>");
var response = ePortConnect.someOperation(...).Result.@return;

供应商声称.wsdl是正确的,我相信他们。但是在我的两行代码中有什么可能是错误的呢?

链接到完整的.wsdl文件。

共有1个答案

伏业
2023-03-14

尝试mtom而不是text来编码SOAP消息。

Config: <binding messageEncoding="Mtom"> Code: binding.MessageEncoding = WSMessageEncoding.Mtom;
 类似资料:
  • 我在与Java WS对话时遇到了问题。我使用“WSHTTPBinding”绑定客户端证书进行身份验证,消息编码设置为“text”,.NET framework为4.0。服务器端是Java,我无法控制它。连接是通过Fiddler代理的(这就是我在网上看到请求的方式,比跟踪“System.NET”更加用户友好)。 我得到的例外情况如下: 服务器接受请求的“text”和“mtom”消息编码,响应总是相同

  • 我在和Java WS对话时遇到了问题。我使用“wshttpbinding”绑定与客户端证书进行身份验证,消息编码设置为“text”,.NET framework为4.0。服务器端是Java,我无法控制它。连接是通过Fiddler代理的(这就是我在线上看到请求的方式,比跟踪“System.NET”用户友好得多)。 我得到的例外是: 在我阅读的所有文档中,返回的响应介于常规SOAP消息和MTOM消息之

  • 现有的客户端很多,改变它们是不可行的。 我已经成功地创建了一个服务,它在大多数客户机上都有一个令人烦恼的异常。 因为旧的服务是SOAP1.1,所以我尝试使用一个basicHttpBinding,比如: 但是,我在这两个绑定中找不到一个设置组合,可以同时允许“application/xml”和“text/xml”的内容类型,并在标题中使用SOAP1.1样式的“soapaction”寻址。 我还尝试实

  • 我正在使用wiremock设置一个虚拟PHP服务器,并希望根据传递的一个XML字段进行匹配。我基本上会有多个请求进入同一个url,但它们之间的主要区别是发票号。wiremock的JSON如下所示 当我使用Postman并只传递带有

  • 我试图使用独立的应用程序使用WCF web服务。我可以使用Internet Explorer查看此服务,也可以在Visual studio服务引用中查看。 这就是我得到的错误 如何更改它以使用正确的内容类型? 这是我的配置文件 这是堆栈

  • 我正在尝试使用ID搜索记录。我有成功返回所有记录的代码,但是我不确定如何只返回一个匹配的记录。 我用的是C#,linq,WCF 我收到的错误是“错误1”车辆销售服务。“Service1”不实现接口成员“VehicleSalesService”。iservice 1 . search vehicle record(int)'。车辆销售服务。service 1 . search vehicle rec