有没有更好的方法来调试SOAP请求?

时间:2019-10-01 14:07:03

标签: c# web-services iis soap web-applications

此刻我面临以下情况:

  • 我在运行于应用程序服务器(appsrv)上的浏览器中使用了一个Web应用程序。
  • 根据我在Web应用程序中设置的配置(XML和XSLT)appsrv,将SOAP请求发送到另一台服务器(web_service)上的Web服务(websvcsrv)。 / li>
  • 如果出了点问题,并且我想检查SOAP请求中发送的内容,则必须执行以下操作:

    1. 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。为何需要这样做,请参见下文。

    1. http上运行Wireshark并开始捕获。
    2. 在浏览器中运行Web应用程序,将SOAP请求从appsrv发送到appsrv上的web_service,后两个引用websvcsrv现在。
    3. 忽略dummy在浏览器中显示的错误(因为现在仅appsrv在后​​面)。
    4. dummy上切换到Wireshark,对appsrv进行过滤,找到SOAP请求并查看其XML。 (这是xml发挥作用的地方,因为使用加密的http看不到任何对人眼有用的东西。)
    5. 更正Web应用程序配置中的可能错误。
    6. 撤消1.,即将https中的行从web.config更改为dummy
    7. 在实数websvcsrv上用实数web_service进行更正。
    8. 如果仍然有问题,请从1重新开始。否则,请从10继续。
    9. 增强配置。
    10. 在浏览器中运行Web应用程序,将经过增强的SOAP请求从websvcsrv发送到appsrv上的web_service
    11. 如果出现问题,请从1开始。

毋庸置疑,这是我几十年来最疯狂的经历。

是否有更好的方法来调试?

0 个答案:

没有答案