我正在通过 VB.NET 调用网络服务。我已经完成了 AddWebReference 来创建绑定。
当 WS 调用引发异常时,我能够将其作为通用 Exception object 捕获 Catch ex As Exception
。但是,我无法弄清楚如何将其捕获为实际抛出的异常类型。
从我的wsdl
<wsdl:message name="FException">
<wsdl:part name="fault" type="tns2:FException"/>
</wsdl:message>
<wsdl:message name="MyException">
<wsdl:part name="fault" type="impl:MyException"/>
</wsdl:message>
<complexType name="FException">
<sequence>
<element name="errcode" type="xsd:int"/>
<element name="errmessage" nillable="true" type="soapenc:string"/>
</sequence>
</complexType>
<complexType name="MyException">
<complexContent>
<extension base="tns2:FException"><sequence/>
</extension>
</complexContent>
</complexType>
实际抛出的异常是 MyException。但是,AddWebreference 似乎没有创建任何名为 MyException 的类,因此使用
Catch ex As MyException
给我
Type 'MyException' is not defined.
我能够使用 Axis 在 Java 中捕获正确的异常。
我在 VB.NET 中缺少什么?Add WebReference 似乎不会生成 Exception 对象,因此我无法使用它们。