VB.NET を介して Web サービスを呼び出しています。バインディングを作成するために AddWebReference を実行しました。
WS 呼び出しが例外をスローすると、それをジェネリック Exception オブジェクトとしてキャッチできます 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 オブジェクトを生成しないように見えるので、それらを使用できません。