请参阅带有提琴手的 Web 服务中的 SOAP 格式

本文关键字:SOAP 格式 服务 Web 提琴手 请参阅 | 更新日期: 2023-09-27 18:30:37

我创建了一个Web服务和一个控制台应用程序来使用它。我正在使用小提琴手来查看流量,我希望请求和响应是 SOAP,但这并没有发生,只有请求是 SOAP,而不是响应。
如何强制使用肥皂响应我的服务?

这是获得的原始 http 标头:
HTTP/1.1 200 OK
缓存控制:专用,最大年龄=0
内容类型:文本/XML;字符集=UTF-8
内容编码:gzip
变化:接受编码
服务器:Microsoft-IIS/7.5
X-ASP网络版本:4.0.30319
X供电者:ASP.NET
日期:2014 年 11 月 17 日星期一 20:19:22 GMT
内容长度:311

响应是二进制的。
我的 Web 服务是在空 Web 应用程序项目中添加一个 Web 服务项 ASP.NET 创建的,我没有修改,后来我在 IIS 中发布。
我的消费者也很简单。我只是添加服务引用并创建一个实例。

var binding = new BasicHttpBinding();
var endpointAddress = new EndpointAddress("http://172.20.48.59/web-services/MyWebService.asmx");
var serviceRefWithoutConfig = new ServiceReference1.MyWebServiceSoapClient(binding, endpointAddress);
Console.WriteLine(serviceRefWithoutConfig.HelloWorld());

请参阅带有提琴手的 Web 服务中的 SOAP 格式

有问题的HTTP响应是用GZIP压缩的。

单击小提琴手中显示Response is encoded and may require decoding before inspection. Click here to transform.的大黄色条后会发生什么?

如果你正在创建新的东西,我强烈建议你考虑使用 WebAPI 来实现这样的事情。

控制方法的输出要容易得多,并且如果将来需要,生成的服务将更容易从移动平台使用。