拦截SOAP请求

时间:2014-07-01 08:28:37

标签: web-services soap

我知道这可能听起来像是重复但是尽管这项研究的结果很多,但我无法找到合适的答案。

我使用的是使用Axis(第一个)构建的Java Web服务,在Tomcat v5.5上运行,而.Net客户端使用一些Web引用(不是服务引用)。 我想要做的是查看我的客户端soap enveloppe的传出请求。

到目前为止,我尝试使用soapUI,很棒的工具,帮助了我很多其他东西,但我的Web服务的结构非常复杂(复杂的数据类型的数组)所以我不知道我怎么能给他一些参数,这里是生成的请求的例子:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webservices.main.gimaweb.itrec.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
   <soapenv:Header/>
   <soapenv:Body>
      <web:televerserDocument soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <wsi xsi:type="urn:DocumentWSI" xmlns:urn="urn:DocumentWS">
            <version xsi:type="xsd:string">?</version>
            <documents xsi:type="doc:ArrayOf_tns1_DocumentWVO" soapenc:arrayType="urn:DocumentWVO[]" xmlns:doc="adress"/>
         </wsi>
      </web:televerserDocument>
   </soapenv:Body>
</soapenv:Envelope>

但我需要的是一个包含数据的数组,因此为此目的缺少许多xml标记。也许有办法生成更完整的样本请求? (我不知道我是否足够清楚)。

我也尝试使用Fiddler,这也是一个很棒的工具,但我从来没有设法获得soap enveloppe,我刚从更新Web引用时获得了WSDL。 我尝试了不同类型的地址,如:

localhost:port
localhost.:port
ipv4.fiddler:port
hostname:port

但我觉得地址不是问题的根源,我也使用ISS Express而不是Visual Studio开发服务器。

最后,我尝试使用一些名为Membrane Moniter的软件,但没办法得到它,它已经变得很老了,也许有人知道另一种选择

有人知道如何做到这一点吗?

编辑:我也尝试在服务器端使用TCP / IP Monitor,但是再一次,我只从VS的更新中获取WSDL。我真的不明白为什么。

编辑:我的Java Webservices在Tomcat v5.5上运行,我的ASP.Net客户端是在IIS Express上运行的Web应用程序

0 个答案:

没有答案