Я хочу передать свой пользовательский объект в элемент тела мыла, как это сделать?

Я пытаюсь вызвать веб-сервис, используя JAXB SAAJ. Я использую wsdl2java для создания объектов веб-службы. Теперь я хотел бы передать один из этих объектов в вызове мыла. Как я могу это сделать? Я хочу передать свой пользовательский объект в элемент тела мыла, как это сделать?

Мой код:

SOAPBody soapbody = soapmessage.getSOAPBody();
SOAPBodyElement element = soapbody.addBodyElement(soapbodyName);
element.addChildElement(myCustomObject); <-- it gives error here that I can not pass my object here.

person Harry Joy    schedule 13.03.2012    source источник


Ответы (1)


Вам нужно маршалировать его в SOAPBody, используя JAXBElement и ObjectFactory, сгенерированные wsdl2java:

JAXBElement<MyCustomObject> myCustomObjectElement = 
    new ObjectFactory().createMyCustomObject(myCustomObject);
jaxbContext.createMarshaller().marshal(myCustomObjectElement, soapbody);
person artbristol    schedule 13.03.2012