2010-10-17 6 views
0

J'utilise Axis2 1.5.2 et Eclipse. J'utilise Eclipse pour générer le WSDL et le code client à partir du WSDL généré.Créer des exceptions personnalisées dans Axis2

J'ai créé une exception personnalisée que mon service peut lancer. Tout semble correct lors de la création du webservice. Le service Web démarre correctement et je peux afficher le fichier WSDL généré en pointant mon navigateur Web. Mais quand je dis Eclipse pour générer le code client en utilisant le WSDL généré je reçois cette erreur Eclipse:

Error in generating Java from WSDL: java.io.IOException: ERROR: Missing <soap:fault> element inFault "InsertUserException" in operation "InsertUserException", in binding insertUser 
    java.io.IOException: ERROR: Missing <soap:fault> element inFault "InsertUserException" in operation "InsertUserException", in binding insertUser 
    at org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858) 

Mon exception personnalisée est "InsertUserException":

public class InsertUserException extends Exception{ 
    private String errorCode; 

    public InsertUserException(String errorCode){.....} 
    public String getErrorCode(){...} 
    public void setErrorCode(String errorCode){...} 

} 

Mon action de service que les clients peuvent appel est "insertUser":

public void insertUser() throws InsertUserException{ 
..... 
} 

Toute aide est appréciée.

Répondre

0

Axis2 ne sait pas comment envoyer des exceptions sur le câble sauf s'il s'agit d'AxisFaults.

Voici un lien vers un article sur l'utilisation d'AxisFault avec des informations d'exception personnalisées.

http://wso2.org/library/171

+0

Je pensais que Axis2 serait en quelque sorte faire la conversion, mais cette solution fonctionne pour moi. Merci. – Marquinio

Questions connexes