Клиентская заглушка, сгенерированная с использованием Axis2, кодирующая данные XML в SOAP: Body - PullRequest
0 голосов
/ 28 марта 2012

У меня проблема с клиентской заглушкой, созданной с использованием Axis2.

Это кодирование данных xml, которые я отправляю в запросе.

param1valueparam2value

вместо преобразования как

<Query><Param1>param1value</Param1><Param2>param2value</Param2></Query>

конвертирует его только в приведенный ниже оператор

<Query><Param1>param1value</Param1><Param2>param2value</Param2></Query>

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 29 марта 2012

Если вы пытаетесь отправить XML в теле мыла, заключите его в CDATA.

Измените код заглушки и измените способ создания элемента заглушки

SOAPFactory factory = OMAbstractFactory.getSOAP11Factory();
SOAPEnvelope envelope = factory.getDefaultEnvelope();    
OMElement xmlElement= factory.createOMElement("cdatatoservice", envelope.getDefaultNamespace());
envelope.getBody().addChild(xmlElement);

OMTextImpl omText = (OMTextImpl) xmlElement.getOMFactory().createOMText(xmlElement, xmlForCdata, XMLStreamConstants.CDATA);
xmlElement.addChild(omText);

System.out.println(envelope.toStringWithConsume());
...