2012-03-14 2 views
0

Dans mon projet, j'ai créé un client webservice avec Spring Web Services (2.0.4.RELEASE).Spring Webservice Client: impossible de gérer les fautes SOAP

Le webServiceTemplate est défini dans ma config de printemps:

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
<bean id="wsClient" class="org.springframework.ws.client.core.WebServiceTemplate"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
</bean> 

Quand j'appelle le service (wsClient.marshalSendAndReceive(...)) et renvoie un SOAP la faute du client webservice ne reconnaît pas. Il essaie de le rassembler et une exception ValidationException est levée.

J'ai regardé le code source de Spring Web Service. Dans la classe WebServiceTemplate existe une méthode protected boolean hasFault(WebServiceConnection connection, WebServiceMessage response). Mais cette méthode retourne toujours faux.

Je l'ai déjà vérifié cette question: Java Spring Web Service Client Fault Handling

Le service envoie la réponse avec le code d'état HTTP 500. Donc, ce n'est pas le problème.

Est-ce que quelqu'un a une idée comment résoudre ce problème?

Merci!

EDIT: L'application fonctionne sur un Weblogic 10.3.5

+0

C'est bizarre. Je voudrais déboguer la méthode hasFault et voir ce qui se passe. – jddsantaella

Répondre

0

Le problème n'a pas été Spring Web Services. C'était notre webservice retournant une réponse invalide. : -/

Ce que j'appris de ce problème: