使用SOAP数据包调试Web服务
时间:2020-03-05 18:43:26 来源:igfitidea点击:
我有一个在Cand中创建的Web服务,该服务是由客户提供的测试工具。不幸的是,我的Web服务似乎没有解析测试工具创建的对象。我相信问题出在肥皂包的序列化上。
使用TCPTrace,我能够将肥皂数据包传递到Web服务,但只能在远程计算机上,所以我无法在那里进行调试。有没有一种方法可以使用生成的Soap数据包来调用本地Web服务,而不是使用当前的测试工具手动创建对象并通过Web引用调用Web服务?
[edit]我收到肥皂包的机器在虚拟机上,因此无法将其链接到我的机器。我想我正在寻找一种可以将肥皂包粘贴到其中的工具,它将依次调用我的Web服务
解决方案
回答
默认情况下,.Net不允许我们将TCPTrace或者Fiddler(我更喜欢)之类的数据包分析器连接到localhost或者127.0.0.1连接(由于我现在忘记的原因。)
最好的方法是在可能的情况下通过完整的IP地址或者FQDN引用Web服务。这样一来,我们就可以在自己选择的工具中跟踪呼叫。
回答
一个稍微手动的过程是使用Firefox的Poster加载项。还有一个名为SoapUI的Java实用程序,它具有一些基于发现的自动化模板,我们可以对其进行修改并针对服务运行。
回答
与palehorse一样,使用soapUI或者直接使用该功能的特定组件:TCPMon。
回答
前几天在本地计算机上使用TCPTrace进行了此操作。我将主机文件中的远程主机映射到127.0.0.1. 运行8080上的本地Web服务器,运行80上的TcpTrace指向127.0.0.1:8080。可能是问题试图同时在80端口运行,但无法正常工作。