使用不带代理客户端的WCF服务

本文关键字:WCF 服务 客户端 代理 | 更新日期: 2023-09-27 17:49:43

我有一个应用程序,它只能发送SOAP消息并解析响应。如果我使用代理客户端,我的WCF服务工作得很好,但我需要有能力以SOAP格式发送POST请求,因为它是在旧的ASMX服务中。有可能做到吗?

我尝试从调试wcf客户端复制SOAP请求,并将其作为POST请求与内容类型文本/xml发送,但它没有给我一个正确的结果。

使用不带代理客户端的WCF服务

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

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

www.soapui.org