Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WCF客户端与Java WS对话,异常:内容类型应用程序/xop+;xml;类型=";应用程序/soap+;xml";响应消息的格式_Wcf_Soap_Wcf Binding_Mtom_Xop - Fatal编程技术网

WCF客户端与Java WS对话,异常:内容类型应用程序/xop+;xml;类型=";应用程序/soap+;xml";响应消息的格式

WCF客户端与Java WS对话,异常:内容类型应用程序/xop+;xml;类型=";应用程序/soap+;xml";响应消息的格式,wcf,soap,wcf-binding,mtom,xop,Wcf,Soap,Wcf Binding,Mtom,Xop,我在与Java WS交谈时遇到问题。我正在使用“wsHttpBinding”绑定和客户端证书进行身份验证,消息编码设置为“Text”,.net framework为4.0。服务器端是Java,我无法控制它。连接是通过Fiddler代理的(这是我在网上看到请求的方式,比跟踪“System.Net”更方便用户) 我得到的例外情况如下: 内容类型应用程序/xop+xml;响应消息的type=“application/soap+xml”与绑定的内容类型不匹配(application/soap+xml;c

我在与Java WS交谈时遇到问题。我正在使用“wsHttpBinding”绑定和客户端证书进行身份验证,消息编码设置为“Text”,.net framework为4.0。服务器端是Java,我无法控制它。连接是通过Fiddler代理的(这是我在网上看到请求的方式,比跟踪“System.Net”更方便用户)

我得到的例外情况如下:

内容类型应用程序/xop+xml;响应消息的type=“application/soap+xml”与绑定的内容类型不匹配(application/soap+xml;charset=utf-8)。

如果我将消息编码更改为“Mtom”,则异常会更改:

内容类型应用程序/xop+xml;响应消息的type=“application/soap+xml”与绑定的内容类型不匹配(multipart/related;type=“application/xop+xml”)。

服务器正在接受请求的“文本”和“Mtom”消息编码,响应总是相同的。这是我从服务器得到的原始响应:

HTTP/1.1 200 OK
X-Backside-Transport: OK OK
Connection: Keep-Alive
X-Powered-By: Servlet/3.0
SOAPAction: ""
Content-Type: application/xop+xml; type="application/soap+xml"
Content-Language: en-US
Date: Thu, 25 Jul 2013 13:05:09 GMT
Content-Length: 628

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope  ...   </env:Envelope>
若我尝试使用工具“soapUI”(用Java编写,可从“www.soapUI.org”获得)调用web服务,那个么服务调用将成功执行,响应将被解析,不会出现任何问题

仅供参考,这是一个来自的交叉帖子,但还没有回复

欢迎提出任何意见,提前感谢


Alex

尝试将绑定配置中的消息编码设置为
messageEncoding=“Mtom”
basicHTTPBinding
,而不是
wsHTTP
one


希望有帮助

我也在使用CXF,并且有一个C#client。尝试修改绑定设置,将
textMessageEncoding
替换为
mtomessagencoding
。大概是这样的:

<binding name="yourSoapBinding">
    <mtomMessageEncoding messageVersion="Soap12"/>
    <httpTransport />
</binding>


我面临着完全相同的问题。创建自定义绑定并设置messageVersion=“Soap12”对我来说不起作用。我能看到的一个区别是我的web服务调用是https,但这篇文章似乎是针对http的。你找到解决方案了吗?我也有同样的问题。但是第一个答案中建议的绑定配置对web.config.HTTP和HTTPS无效,这没有区别:这只是传输细节。问题是邮件的格式。我遇到的问题是,政府实体正在使用一些Java服务器(使用IBM WebSphere堆栈),而它们的堆栈正在生成不一致的消息。在我的例子中有两种选择:1)使用SoapUI作为外部应用程序,它将下载消息,然后在C#2中解析XML。2)编辑来自网络的原始XML,并将消息XML更改为符合标准->这样一切都在C#中完成。
<binding name="yourSoapBinding">
    <mtomMessageEncoding messageVersion="Soap12"/>
    <httpTransport />
</binding>