c# - 错误:客户端找到“多部分/相关 C# asmx 客户端”的响应内容类型
问题描述
我正在尝试创建一个 Web 服务客户端(asmx),从另一台主机连接到 Web 服务(.svc)。我使用添加 Web 引用在项目中生成服务类。但是,例如,当我调用 getData() 时,我收到此错误:
System.InvalidOperationException: Client found response content type of 'multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:*****************+id=1";start-info="text/xml"', but expected 'text/xml'.
The request failed with the error message:
--
--uuid:********************+id=1
Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding: 8bit
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/fault</a:Action><a:FaultDetail><a:ProblemHeaderQName>a:Action</a:ProblemHeaderQName></a:FaultDetail></s:Header><s:Body><s:Fault><faultcode>a:ActionMismatch</faultcode><faultstring xml:lang="en-US">The SOAP action specified on the message, '', does not match the HTTP SOAP Action, 'http://tempuri.org/ICustomService/GetData'. </faultstring></s:Fault></s:Body></s:Envelope>
--uuid:***************************+id=1--
我尝试使用soapUI。它工作正常,这是 RAW 响应
HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>;"start-info="text/xml"
MIME-Version: 1.0
--uuid:****************
Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding:8bit
Content-Type:application/xop+xml;charset=utf-8;type="text-xml"
<s:Envelope............
顺便说一句,服务 url 会自动添加到applicationSettings标记中,例如。
<applicatonSettings>
<my_service.Properties.Settings>
<setting name="my_service.serviceInquriy.CustomService" serializeAs="String">
<value>http://serviceurl/serviceInquriy.svc</value>
</setting>
</my_service.Properties.Settings>
</applicatonSettings>
解决方案
推荐阅读
- kotlin - 如何在不阻塞调用者函数的情况下从另一个挂起函数调用挂起函数?
- python - 使用 Selenium、Python 实现自动化 Spotify 登录
- javascript - 在不使用 REF 的情况下触发单选按钮 Onclick 功能
- javascript - 点击后如何将标签中的文本设置为url?
- python - 如何存储多维特征?
- c# - 在应用程序修剪时将整个程序集标记为动态访问
- asp.net-mvc - MVC中如何处理一个参数的多个值
- sql - 平面文件 --> BizTalk --> Sql Server - 行序列不匹配
- android - 如何在Android中更改时间选择器的钟面和钟针的颜色
- java - 组装对象时JPA的工作原理