Как вернуть объект jaxb как ответ cxf: jaxws-service? - PullRequest
0 голосов
/ 03 апреля 2019

Я использую Mule 3.7 и вызываю класс обслуживания, используя аннотации JAXB через компонент CXF.Класс CXF вызывает другую внешнюю службу SOAP и получает результат в виде XML.Я преобразовал этот XML, чтобы получить только определенные теги, и мне нужно установить его в классе Response Wrapper, вызываемом CXF.

Для преобразования XML я использую пользовательский класс Java, который преобразует XML и устанавливает его в объект класса Response Wrapper.Но когда я пытаюсь установить это как полезную нагрузку, я получаю только пустые теги в качестве ответа службы ESB в интерфейсе SOAP.

CXF-компонент, вызывающий класс обслуживания:

<cxf:jaxws-service serviceClass="dmsapi.DocumentManagementService" mtomEnabled="true" doc:name="CXF: Class dmsapi.DocumentManagementService" configuration-ref="CXF_Configuration"/>

Response Wrapper Class:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"documentProperties"
})
@XmlRootElement(name = "getDocumentPropertiesResponse")
@XmlSeeAlso(ArrayList.class)
public class GetDocumentPropertiesResponse {

protected List<DocumentProperties> documentProperties;

public void setDocumentProperties(List<DocumentProperties> documentProperties) {
    this.documentProperties = documentProperties;
}

public List<DocumentProperties> getDocumentProperties() {
    if (documentProperties == null) {
        documentProperties = new ArrayList<DocumentProperties>();
    }
    return this.documentProperties;
}

Я устанавливаю объект GetDocumentPropertiesResponse в другом пользовательском классе с именем «XMLUtility.java».

XMLUtility возвращает объект класса GetDocumentPropertiesResponse.Мне нужно установить этот объект как ответ на cxf

...