1

我们有一个用 java 编写的服务器并提供一些 web 服务......其中一些抛出自定义异常,服务器将其发送给用户应用程序。

应用程序是用 C# 编写的。我希望能够在用户应用程序中捕获这些异常并再次抛出它们。

我知道有可能抛出一般的肥皂异常,但我想抛出与服务器上相同的异常。

我知道如何为服务生成 wsdl 文件和 xsd 文件,也描述了这些异常,如果我使用 xsd.exe 我知道如何生成类似于异常的 ac# 类,但它们不是异常:(

所以我不确定如何生成异常以及如何将soap错误代码解释为正确类型的异常......

肥皂中的故障代码示例:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>some info</faultcode>
         <faultstring>Fault occurred while processing.</faultstring>
         <detail>
            <ns1:MyException xmlns:ns1="http://xxx/">
               <den xsi:type="ns2:day" xmlns:ns2="http://xxx/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">THURSDAY</den>
            </ns1:MyException>
         </detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

有任何想法吗?你以前做过这样的事吗……?甚至有可能吗?谢谢

4

1 回答 1

0

最后我解决了。在 Java 中,只需在您的 web 服务方法之后编写 throws MyException 即可。然后生成wsdl和xsd。通过 svcutils.exe 从 wsdl 和 xsd 生成 c# 代码

您可以使用您的网络服务并捕获以下错误:

FaultException<MyException> ex

其中 ex 将详细包含 MyException 的所有属性。

于 2013-11-21T08:25:36.597 回答