【发布时间】:2013-04-28 04:03:04
【问题描述】:
我正在努力了解 SOAP 服务的工作原理。我的客户端使用 Java,服务使用 WCF(尽管理论上这无关紧要)。如果给我一个 SOAP 信封示例并执行以下操作:
-Build a SOAP envelope that exactly follows the example
-Use an HttpPost object to post the data to www.service.com/service.svc
这是调用服务的正确(尽管不正确)方式吗?因为当我这样做时,我会收到 400 响应,即使我的 SOAP 信封与示例完全相同。
【问题讨论】:
-
WCF 服务是什么绑定,您使用的是哪个版本的 SOAP? WCF 将
basicHttpBinding用于 SOAP 1.1 - 所有其他(我相信)都是 1.2。 -
我们使用的是 SOAP 1.2,但我不确定我们使用的绑定。在这种情况下,我想要 BasicHttpBinding 似乎很合理
-
经过快速检查,配置文件确实指定了我们使用basicHttpBinding
<protocolMapping><add binding="basicHttpsBinding" scheme="https" /></protocolMapping>或者这不是指定绑定的正确方法吗? -
这是客户端还是服务的配置文件?顺便说一句,
basicHttp**s**binding与basicHttpBinding不同——第一个是为 TLS 设计的。此外,上面的段只是默认绑定。你能发布整个配置文件吗? -
这是服务的绑定。我只是在编写一个非 WCF 客户端应用程序来使用该服务。完整的配置文件在这里:gist.github.com/andrewnguyen42/5477069