2010-09-22 3 views
4

Je souhaite tester à l'unité les objets mappeurs qui mappent/traduisent les types de services Web générés par wsimport vers mes propres objets de domaine. Je veux également tester des scénarios d'erreur, tels que les fautes SOAP et autres, et je pense qu'il serait préférable de tester les objets mapper sur des réponses SOAP authentiques. Je ne souhaite pas renvoyer les demandes au service Web lui-même, car cela nécessite l'accès au service Web et impose un temps d'aller-retour pour chaque test. Dans ce scénario, je cherche à dissocier les messages SOAP d'un fichier XML particulier contenant une enveloppe SOAP. Je veux démasquer l'enveloppe SOAP, et à son tour la charge utile dans le corps aux types Java correspondants.Unmarshalling SOAP Envelope à partir d'un fichier en Java

J'ai réussi à démateler la charge elle-même en utilisant JAXB unmarshalling, mais je n'ai pas trouvé un moyen de me permettre de gérer les réponses SOAP avec des fautes SOAP similaires.

Y a-t-il une approche qui, étant donnée un fichier XML SOAP Envelope, me permettrait de tester facilement mes mappeurs?

Répondre

3

Avez-vous essayé l'API SOAP java standard (javax.xml.soap)?

Quelque chose comme ceci:

MessageFactory mf = MessageFactory.newInstance(); 
    SOAPMessage message = mf.createMessage(); 
    SOAPPart soapPart = message.getSOAPPart(); 
    FileInputStream is = new FileInputStream(file); 
    soapPart.setContent(new StreamSource(is)); 
Questions connexes