【问题标题】:Use WCF service without proxy client在没有代理客户端的情况下使用 WCF 服务
【发布时间】:2012-12-27 12:19:48
【问题描述】:

我有一个可以发送 SOAP 消息和解析响应的应用程序。如果我使用代理客户端,我的 WCF 服务可以正常工作,但我需要能够像在旧的 ASMX 服务中那样以 SOAP 格式发送 POST 请求。有没有可能做到?

我尝试从调试 wcf 客户端复制 SOAP 请求并将其作为带有 Content-Type text/xml 的 POST 请求发送,但它没有给我正确的结果。

【问题讨论】:

标签: c# .net wcf web-services soap


【解决方案1】:

是的,您可以使用“普通”HTTP 请求来调用它们——毕竟,就服务器而言,它接收到的只是 TCP 连接中的字节。根据您使用的绑定,您可能还需要设置一些 HTTP 标头 - 如果您在服务上使用 BasicHttpBinding,您还需要设置 SOAPAction 标头。尝试使用 WCF 代理发送您的请求和来自客户端的请求,并在 Fiddler 等工具中进行比较。如果请求相同,服务器也会以相同的方式响应。

【讨论】:

  • 谢谢!我真的很想念 SOAPAction 标头。该死,我浪费了 3 天时间来寻找解决方案)
【解决方案2】:

当我需要通过http web 请求传递完整的soap 消息时,我使用SoapUI。您可以给它一个 WSDL,它执行代理对代码执行的操作,而是生成soap xml。正如@carlosfigueira 所提到的,您需要查看 HTTP 标头部分并进行适当的设置。

www.soapui.org

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2011-09-14
    • 1970-01-01
    相关资源
    最近更新 更多