热门关键字:  PHP  Cisco  seo  网络广告 虚拟主机 中文域名

Web Service故障处理

来源:Matt Powell and Scott Seely 作者:未知 时间:2005-09-27 点击:

如果一切正常而且终端没有被破坏,我们希望返回25。但是,终端被破坏了,得到以下结果:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope
  SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 <SOAP-ENV:Body>
  <SOAP-ENV:Fault>
   <faultcode>SOAP-ENV:Client</faultcode>
   <faultstring>AddNumbers</faultstring>
   <faultactor>
    http://tempuri.org/action/Example.AddNumbers
   </faultactor>
   <detail>
   <mserror:errorInfo
     xmlns:mserror=
     "http://schemas.microsoft.com/soap-toolkit/faultdetail/error/">
   <mserror:returnCode>-2146828188</mserror:returnCode>
   <mserror:serverErrorInfo>
    <mserror:description>
     The first number must be greater than 10
    </mserror:description>
    <mserror:source>AddNumbers</mserror:source>
   </mserror:serverErrorInfo>
   <mserror:callStack>
    <mserror:callElement>
     <mserror:component>Client</mserror:component>
     <mserror:description>
       The first number must be greater than 10
     </mserror:description>
     <mserror:returnCode>
        -2147352567
     </mserror:returnCode>
    </mserror:callElement>
   <mserror:callElement>
   <mserror:component>
     WSDLOperation
   </mserror:component>
   <mserror:description>
     Executing method AddNumbers failed
   </mserror:description>
   <mserror:returnCode>
     -2147352567
   </mserror:returnCode>
  </mserror:callElement>
 </mserror:callStack>
</mserror:errorInfo>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

  上面的错误提供了很多信息,可以帮助你发现问题的所在。从错误中可见,WSDLOperation组件发现AddNumbers方法失败。它还表明是客户端发生问题,而且问题是:第一个数必须大于10。图五中显示了MSSoapT.exe中这个错误是怎样的。


               图五 跟踪SOAP错误


  这些工具还有很多用途。你可以用它们来分析SOAP请求和响应。有时候,Web Service只有一个客户端。如果你有客户端的源代码,你可以修改终端,让它可以通过跟踪工具。这样,你可以利用Microsoft SOAP Toolkit的底层API来反过来设计WSDL文件或构建客户端程序。


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商连接