使用没有代理客户端的WCF服务

时间:2012-12-27 12:19:49

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

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

www.soapui.org