此刻我面临以下情况:
appsrv
)上的浏览器中使用了一个Web应用程序。appsrv
,将SOAP请求发送到另一台服务器(web_service
)上的Web服务(websvcsrv
)。 / li>
如果出了点问题,并且我想检查SOAP请求中发送的内容,则必须执行以下操作:
web.config
的{{1}}中更改以下行:
appsrv
到
<add key="WebServiceUrl_{web_service name}"
value="https://websvcsrv/path/to/web/service.asmx" />
这仅是从<add key="WebServiceUrl_{web_service name}"
value=http://{server which exists and accepts http but has otherwise
absolutely nothing to with the web app or the web service (dummy) }" />
变为未加密的https
。为何需要这样做,请参见下文。
http
上运行Wireshark并开始捕获。appsrv
发送到appsrv
上的web_service
,后两个引用websvcsrv
现在。dummy
在浏览器中显示的错误(因为现在仅appsrv
在后面)。dummy
上切换到Wireshark,对appsrv
进行过滤,找到SOAP请求并查看其XML。 (这是xml
发挥作用的地方,因为使用加密的http
看不到任何对人眼有用的东西。)https
中的行从web.config
更改为dummy
。websvcsrv
上用实数web_service
进行更正。websvcsrv
发送到appsrv
上的web_service
。毋庸置疑,这是我几十年来最疯狂的经历。
是否有更好的方法来调试?