J'appelle un service Web via VB.NET. J'ai fait un AddWebReference pour créer les liaisons.Exception VB.net et Webservices
Lorsqu'un appel WS déclenche une exception, je peux l'attraper en tant qu'objet d'exception générique Catch ex As Exception
. Cependant, je ne suis pas capable de comprendre comment l'attraper en tant que type d'exception effectivement lancé.
De mon 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>
L'exception réelle est jeté MyException. Cependant, le AddWebreference ne semble pas créer une classe nommée MyException, donc en utilisant
Catch ex As MyException
me donne
Type 'MyException' is not defined.
Je suis en mesure de prendre la bonne exception en Java avec Axis.
Qu'est-ce qui me manque ici dans VB.NET? L'ajout de WebReference ne semble pas générer les objets Exception, donc je ne peux pas les utiliser.
Avez-vous essayé d'utiliser l'espace de noms complet? MyService.MyException par exemple – James
@James - oui même erreur. – user93353
Si vous utilisez l'explorateur d'objets sur le service, pouvez-vous voir le type MyException dans ce service? – James