2010-09-22 2 views
4

Я хочу, чтобы unit-test объекты mapper отображали/переводили типы веб-сервисов, сгенерированные wsimport, в мои собственные объекты домена. Я также хочу протестировать сценарии ошибок, такие как ошибки SOAP и т. Д., И я думаю, что было бы лучше проверить объекты mapper на аутентичных ответах SOAP. Я не хочу запускать запросы к самому веб-сервису, поскольку для этого требуется доступ к веб-службе, и для каждого теста создается время в оба конца.Unmarshalling SOAP Envelope из файла в Java

Учитывая этот сценарий, я пытаюсь развязать SOAP-сообщения из определенного XML-файла, содержащего конверт SOAP. Я хочу развязать конверт SOAP и, в свою очередь, полезную нагрузку в теле на соответствующие типы Java.

Мне удалось развязать полезную нагрузку, используя JAXB unmarshalling, но я не нашел способ разрешить мне обрабатывать ответы SOAP с ошибками SOAP.

Есть ли подход, который с учетом XML-файла SOAP Envelope позволил бы мне легко проверить мои картографы?

ответ

3

Вы пробовали стандартный java SOAP API (javax.xml.soap)?

Что-то вроде этого:

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