net调用web service如何处理异常

wsdl文件,某方法如下

            <wsdl:input>
               <soap:body use="literal"/>
            </wsdl:input>
            <wsdl:output>
               <soap:body use="literal"/>
            </wsdl:output>
            <wsdl:fault name="ServiceException">
               <soap:fault name="ServiceException" use="literal"/>
            </wsdl:fault>

 

。net调用这个web service后,如果返回异常,用

  System.Web.Services.Protocols.SoapException soapex捕获后,soapex.Detail.InnerText输出信息。

如以下返回的错误:

- < SOAP-ENV:Body >
- < SOAP-ENV:Fault >
  < faultcode > SOAP-ENV:Client </ faultcode >
  < faultstring > HTTP Error: 500 Internal Server Error </ faultstring >
- < detail >
- < comm3:ServiceException xsi:type =" comm3:ServiceException " >
  < messageId > SVC0001 </ messageId >
  < text > Server process error </ text >
  </ comm3:ServiceException >
  </ detail >
  </ SOAP-ENV:Fault >
  </ SOAP-ENV:Body >
微软的介绍:
SoapException 类

表示通过 SOAP 调用 XML Web services 方法且出现异常时引发的异常

公共语言运行库或 XML Web services 方法都可引发 SoapException。如果没有正确格式化对请求的响应,则公共语言运行库可以引发 SoapException。XML Web services 方法可以仅通过在 XML Web services 方法内引发异常来生成 SoapException。如果客户端通过 SOAP 访问该方法,则该异常在服务器上被捕获并包装在一个新的 SoapException 内。引发的 SoapException 具有下列属性 (Property) 值:

属性

Message

原始异常的 Message 属性 (Property)。

Code

ServerFaultCode.

Actor

XML Web services 方法的 URL。

Detail

空引用(在 Visual Basic 中为 Nothing),但有一个空的详细信息元素存在于故障元素中。

当客户端使用 SOAP 进行调用时,XML Web services 方法可能引发 SoapException。如果 XML Web services 引发 SoapException,则可以通过 ActorCodeDetail 属性来添加其他详细信息,但如果引发另一类型的异常,这些属性将无法由 XML Web services 方法进行设置。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值