【问题标题】:generate different exceptions from soap in c#在c#中从soap生成不同的异常
【发布时间】:2023-04-11 07:37:01
【问题描述】:

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

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

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

我知道如何为服务生成 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>

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

【问题讨论】:

    标签: c# java soap code-generation


    【解决方案1】:

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

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

    FaultException<MyException> ex
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2016-01-15
      • 2018-02-15
      • 2020-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多