我正在编写一个客户端,使用webserviceTemplate(spring-ws)调用SOAP webservice.我正在使用JAXB将wsdl转换为POJO.我将请求作为POJO发送到webservice但是想要以xml格式的响应(原始xml而不是unmarshalled pojo格式).
wsTemplate.marshalSendAndReceive(requestPayload)会给我unmarshalled pojo对象作为输出但是我需要原始xml来响应webservice调用.
还有一个查询,如果我将响应作为原始xml,我仍然需要将marshaller bean定义为:
(当我定义这个marshaller时,我得到错误,因为它缺少@XmlRootElement注释,因此无法将“com.abc.xyz.GetAbc”类型编组为元素
任何帮助.
最佳答案
对你来说可能为时已晚,但要将POJO编组回XML,可以使用
final Result marshallerResult = new StringResult();
marshaller.marshal(input,marshallerResult);
marshaller是你在wsTemplate中使用的那个.
StringResult来自org.springframework.xml.transform包.
原文链接:https://www.f2er.com/spring/431492.html