Problème d'encodage AxisFault
Bonjour,
J'ai un souci lorsque j'appelle une méthode d'un Web Service et que celle-ci me retourne une erreur AxisFault.
Si tous mes paramètres sont corrects, j'ai n'ai pas de souci mais lorsqu'il y a une erreur, le serveur me retourne un XML mal encodé (vu dans le axis.log grâce au LogHandler).
Du coup, j'obtiens l'erreur
Citation:
org.xml.sax.SAXParseException: Content is not allowed in prolog.
Est-ce que cela provient du serveur ?
Est-ce qu'il y a un moyen de modifier le Stub pour que l'erreur soit bien encodée ?
Les classes ont été générées par wsdl2java de axis 1.4.
Configuration de mon Call qui a été généré :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| oper = new org.apache.axis.description.OperationDesc();
oper.setName("METHODE");
param = new org.apache.axis.description.ParameterDesc(
new javax.xml.namespace.QName("", "request"),
org.apache.axis.description.ParameterDesc.IN,
new javax.xml.namespace.QName("URL", "REQUEST"),
MACLASS.class,
false,
false
);
oper.addParameter(param);
oper.setReturnType(new javax.xml.namespace.QName("URL", "RESULT"));
oper.setReturnClass(RESULT.class);
oper.setReturnQName(new javax.xml.namespace.QName("", "RETURN"));
oper.setStyle(org.apache.axis.constants.Style.RPC);
oper.setUse(org.apache.axis.constants.Use.ENCODED);
oper.addFault(new org.apache.axis.description.FaultDesc(
new javax.xml.namespace.QName("URL", "fault"),
"CLASS_EXCEPTION",
new javax.xml.namespace.QName("URL", "ServiceException"),
true)
);
org.apache.axis.client.Call _call = createCall();
_call.setOperation(oper);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("URL", "METHOD")); |
Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?
Merci d'avance pour votre aide.