5

我正在尝试在 C# 中使用 Web 服务。每当我尝试从 Web 服务类调用该函数时,我都会收到“无法理解 SOAP 标头操作”。我添加了指向我项目中的 Web 服务的 Web 参考 [不是服务参考]。采取了以下步骤来添加网络参考

1)右键单击项目->添加WebReference

当我在网络浏览器中检查网络服务时,我在标题中发现了这个

<wsdl:definitions name="MyService" targetNamespace="http://tempuri.org/">
    <wsp:Policy wsu:Id="WSHttpBinding_ICAIService_policy">
        <wsp:ExactlyOne><wsp:All><sp:TransportBinding>
    <wsp:Policy>

我已经完成了以下代码来调用 Web 服务功能

WebStruct webS = new WebStruct();
webS.Name = "Peter";
webS.ID = 22;

webS.Find(webS);
4

4 回答 4

5

删除 Web 引用并添加服务引用。

于 2012-06-06T14:25:01.600 回答
3

尝试使用简单的服务端点绑定 BasicHttpBinding。此绑定与 .NET 2.0 兼容。

于 2013-06-05T13:05:12.480 回答
0

您可以咨询您的网络服务提供商吗?似乎他们需要一些自定义的标头信息来处理您的请求。服务提供商添加此类标头以提高安全性非常常见。

于 2012-03-19T12:05:21.627 回答
0

SoapAction 错误只有在我进入“配置服务参考...”属性并使用这些选项更新服务参考时才消失。

并勾选这两个框:

TICK 生成异步操作 TICK 总是生成消息合约

于 2014-05-06T03:29:10.990 回答