积极答复者
异常的问题,谢谢

问题
答案
-
1 因为我把流程发布成了webservice 异常只是在biztalk内部处理了,并没有返回到外部调用的程序中。有什么方法可以返 回么,谢谢。
--要把异常返回到调用Webservice端,可以在webservices返回的消息中设计两个字段:state,表示在biztalk内是否执行成功,statedesc,如果不成功的原因,这个字段可以在biztalk的异常捕获中获得错误描述后填入。
2 我现在用的是General Exception来补获异常我想获得异常的描述信息。有什么方法呢,谢谢。--“General Exception”的异常将捕获所有的.NET exceptions,包括不是从System.Exception继承的异常,如此宽松的类型以致不能给捕获到的异常对象提供任何可访问的方法和属性。更可取的方法是建一个捕获“.NET exception”类型的异常处理器,如果是要捕获调用webservices时可能产生的异常,捕获异常类型可以设置为SoapException类型(可能需要引用System.Web.Services.dll)。
3 我想把异常描述信息返回给 外部调用的程序怎么做,谢谢
在途中如果我最下面的异常处理中加入个发送端口 并且跟相应的webservice response关联就会报错。说没有相应的接收端口。其实我的目的就是想把错误信息返回给 外部的调用程序。用什么方法呢,谢谢。--参考第一个问题的回答
4 现在的流程是内部一个原子作用域,在其外面嵌套一个长期作用域,非要这么做么,如果我只用一个长期的作用域,就补不到异常,为什么呢,谢谢。--long running的scope才能捕获异常,你的图形里,你试试把调用webservices的那个发送形状跟接收形状一起包含在一个L-R的scope的形状中,捕获异常类型异常SoapException试试。 -
你的贴子还真长啊.呵呵.
第一个问题: 关于Web Service的异常返回问题你可以参考一下我的文章: BizTalk开发系列(二十六) 使用Web Service. 里面有关于怎么返回异常给Web Serfvice 请求方.
第二个问题: 异常的类型你可以选择System.Exception. General Exception不能设置变量.
第三个问题: 如果第一个访问成功了之后,外部调用程序不需要做任何改变.
第四个问题: 不一定非要这么做,你可以参考一下我的文章之后,再看有没有问题,有问题的话咱们可以继续讨论.
全部回复
-
对于Web Service接口的异常返回你可以参考一下这篇文章:BizTalk开发系列(二十六) 使用Web Service
-
-
谢谢 kent 和 seanfish的帮助现在可以补获异常了还有些问题向请教
1 因为我把流程发布成了webservice 异常只是在biztalk内部处理了,并没有返回到外部调用的程序中。有什么方法可以返 回么,谢谢。
2 我现在用的是General Exception来补获异常我想获得异常的描述信息。有什么方法呢,谢谢。
3 我想把异常描述信息返回给 外部调用的程序怎么做,谢谢
在途中如果我最下面的异常处理中加入个发送端口 并且跟相应的webservice response关联就会报错。说没有相应的接收端口。其实我的目的就是想把错误信息返回给 外部的调用程序。用什么方法呢,谢谢。
4 现在的流程是内部一个原子作用域,在其外面嵌套一个长期作用域,非要这么做么,如果我只用一个长期的作用域,就补不到异常,为什么呢,谢谢。
对异常处理还是很模糊。谢谢。 -
1 因为我把流程发布成了webservice 异常只是在biztalk内部处理了,并没有返回到外部调用的程序中。有什么方法可以返 回么,谢谢。
--要把异常返回到调用Webservice端,可以在webservices返回的消息中设计两个字段:state,表示在biztalk内是否执行成功,statedesc,如果不成功的原因,这个字段可以在biztalk的异常捕获中获得错误描述后填入。
2 我现在用的是General Exception来补获异常我想获得异常的描述信息。有什么方法呢,谢谢。--“General Exception”的异常将捕获所有的.NET exceptions,包括不是从System.Exception继承的异常,如此宽松的类型以致不能给捕获到的异常对象提供任何可访问的方法和属性。更可取的方法是建一个捕获“.NET exception”类型的异常处理器,如果是要捕获调用webservices时可能产生的异常,捕获异常类型可以设置为SoapException类型(可能需要引用System.Web.Services.dll)。
3 我想把异常描述信息返回给 外部调用的程序怎么做,谢谢
在途中如果我最下面的异常处理中加入个发送端口 并且跟相应的webservice response关联就会报错。说没有相应的接收端口。其实我的目的就是想把错误信息返回给 外部的调用程序。用什么方法呢,谢谢。--参考第一个问题的回答
4 现在的流程是内部一个原子作用域,在其外面嵌套一个长期作用域,非要这么做么,如果我只用一个长期的作用域,就补不到异常,为什么呢,谢谢。--long running的scope才能捕获异常,你的图形里,你试试把调用webservices的那个发送形状跟接收形状一起包含在一个L-R的scope的形状中,捕获异常类型异常SoapException试试。 -
你的贴子还真长啊.呵呵.
第一个问题: 关于Web Service的异常返回问题你可以参考一下我的文章: BizTalk开发系列(二十六) 使用Web Service. 里面有关于怎么返回异常给Web Serfvice 请求方.
第二个问题: 异常的类型你可以选择System.Exception. General Exception不能设置变量.
第三个问题: 如果第一个访问成功了之后,外部调用程序不需要做任何改变.
第四个问题: 不一定非要这么做,你可以参考一下我的文章之后,再看有没有问题,有问题的话咱们可以继续讨论.
-
谢谢。
谢谢 版主金剑忠 Gary Zhang SeanFish 的帮助。真的十分感谢。尤其是版主金剑忠不厌其烦的帮我这个初学者解决问题,感动ing。
现在的做法是 只用了一个长期的作用域。然后补获异常。
实验了一下用SeanFish 说的在异常处理中用ThrowException_1把异常抛出来。可是没有结果抛不出来。在我编译的时候有个警告。说没有异常处理程序 ThrowException可能不会补获。而在实际调用的时候再ThrowException_1报错了。可能是和那个编译的警告有关系。有知道的麻烦告诉下应该怎么进行异常处理程序。
其实我想SeanFish 的方法应该像平常写程序一样在调用方用Try {} Catch{}中处理异常也是我想要的方式呵呵。但是抛不出来
有知道的麻烦指点一下谢谢。
SeanFish的方法不可以我现在是把异常信息赋给自定义的架构文件然后返回去。也就是版主和Gary Zhang的方法
Gary Zhang的文章早就看了。因为前期不太懂所以看得云里雾里的呵呵,现在刚明白。
总之谢谢。