我正在通过 C# 与 MS Dynamics GP WebServices 集成,但我不确定如何处理异常。
如果我使用不存在的 ID 执行 GetCustomer,Web 服务会返回一个“通用”SoapException 并且消息是“找不到业务对象”。因此,我确定这是一个无效 ID 而不是任何其他错误的唯一方法是通过解析错误消息,我发现这个解决方案非常脆弱。我的 GP 版本是英语,在客户网站上它将是法语,我不知道 Web 服务消息将使用哪种语言。我正在考虑捕获它,解析消息并抛出更有意义的错误类型。
你看到更好的选择了吗?
最佳答案
不幸的是,eConnect API 和 GP Web 服务都返回一般错误,很高兴您不必解析 eConnect 错误。
好消息是,错误通常是静态的,因此您可以为它们构建解析器。创建自定义异常绝对是使用此类 Web 服务的好方法。
关于c# - Web 服务的一般异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/448440/