2010-06-30 2 views
2

J'utilise spring pour faire tout le marshalling/unmarshalling de mes objets bean (via jaxb2Marshaller/WebServiceTemplate). À des fins de débogage, j'aimerais pouvoir cracher le XML de demande/réponse. Est-ce que quelqu'un sait si c'est possible? Merci.Service Web Spring: moyen facile de désassocier un bean à un client XML?

+0

Je ne vois pas la différence entre cela et http://stackoverflow.com/questions/2812839/spring-ws-webservicestemplate-jaxb2marshaller-client-view-raw-xml – skaffman

Répondre

1

Alternative A: Utiliser un moniteur TCP

Un moniteur TCP/IP fait le travail très bien!

Si vous utilisez Eclipse, la vue du moniteur TCP/IP est une très bonne solution.

Avec un moniteur TCP, vous envoyez la demande du client au Montior, le moniteur imprime la demande et la transmet au serveur. La réponse est renvoyée du serveur au moniteur. Après l'impression sur l'écran du moniteur, le moniteur renvoie la demande au client.

B Alternative: Utiliser un intercepteur

cracher tous les messages d'erreurs, vous devez utiliser le support de validation de Spring WS.

Config pour permettre la validation du côté client:

<bean id="webServiceTemplate" class= 
     "org.springframework.ws.client.core.WebServiceTemplate"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
    <property name="defaultUri" 
     value="http://localhost:8081/ws-demo/account-balance-service" /> 
    <property name="interceptors"> 
     <list> 
      <ref bean="payloadValidatingInterceptor" /> 
     </list> 
    </property> 
</bean> 

<bean id="payloadValidatingInterceptor" 
      class="org.springframework.ws.client.support 
     .interceptor.PayloadValidatingInterceptor"> 
    <property name="schema" 
     value="file:WebContent/WEB-INF/schemas/account-balance-service.xsd" /> 
    <property name="validateRequest" value="true" /> 
    <property name="validateResponse" value="true" /> 
</bean> 

Vous pouvez également ajouter votre propre intercepteur qui peut faire tout ce que vous voulez avec la charge utile. J'ai écrit plus sur la validation côté client here et côté serveur here.

+0

cherchait quelque chose pour consigner les réponses/demandes lorsqu'une erreur s'est produite. – wuntee

+0

J'ai ajouté l'alternative b pour répondre à votre commentaire. – Espen

Questions connexes