8
Мой класс Wrapper это:Не вводя CDATA только с одним значением
@XmlRootElement(name = "GETA")
public class EfGetAResponseWrapperXmlObject {
private String something;
@XmlElement(name = "result")
public String getSomething() {
return something;
}
public void setSomething(String something) {
this.something = something;
}
}
Для этого класса-оболочки я получаю этот ответ на SoapUI:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:ef_getAresponse xmlns:ns2="http://service.package/">
<ef_get_AReturn><GETA>
<result>mystring</result>
</GETA></ef_get_AReturn>
</ns2:ef_get_AResponse>
</S:Body>
</S:Envelope>
Если я представлю еще одну переменную для моей обертке класс:
@XmlRootElement(name = "GETA")
public class EfGetAResponseWrapperXmlObject {
private String something;
private String other;
@XmlElement(name = "result")
public String getSomething() {
return something;
}
public void setSomething(String something) {
this.something = something;
}
public String getOther() {
return other;
}
public void setOther(String other) {
this.other = other;
}
}
Я получаю ответ:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:ef_getAresponse xmlns:ns2="http://service.package/">
<ef_get_AReturn><![CDATA[<GETA>
<result>fasf</result>
<other>fds</other>
</GETA>]]></ef_get_AReturn>
</ns2:ef_getAresponse>
</S:Body>
</S:Envelope>
Я не понимаю этого поведения. Я хочу получить тот же ответ в первом случае, что и во втором случае. Как я могу это сделать?
http://forums.asp.net/t/1624525.aspx?Prevent+XML+web+service+SOAP+from+enclosing+returned+data+in+CData+. –
Вы пытались аннотировать поле с помощью '@ XmlTransient', как в http://stackoverflow.com/a/10968561/1295364 – carcaret
Вы имеете в виду, что первый ответ генерируется при помощи всех <
kolossus