我们有一个用 java 编写的服务器,并提供一些 Web 服务...其中一些会抛出自定义异常,服务器将其发送到用户应用程序。
应用程序是用 C# 编写的。我希望能够在用户应用程序中捕获这些异常并再次抛出它们。
我知道有可能抛出一般的 SOAP 异常,但我想抛出与服务器上相同的异常。
我知道如何为服务生成 wsdl 文件和 xsd 文件,还描述了这些异常,如果我使用 xsd.exe 我知道如何生成与异常类似的 C# 类,但它们不是异常: (
所以我不确定如何生成异常以及如何将 SOAP 故障代码解释为正确类型的异常...
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>
有什么想法吗?你以前做过这样的事吗...?甚至有可能吗? 谢谢
请您参考如下方法:
终于解决了。 在 Java 中,只需在 webservice 方法之后编写 throws MyException 即可。 然后生成wsdl和xsd。 通过 svcutils.exe 从 wsdl 和 xsd 生成 C# 代码
您可以使用您的网络服务并捕获以下错误:
FaultException<MyException> ex
其中 ex 将详细了解 MyException 的所有属性。