我正在编写一个客户端,使用webserviceTemplate(spring-ws)来调用SOAP webservice。 我正在使用JAXB将wsdl转换为POJO。 我将请求发送作为POJO到webservice,但是希望响应以xml格式返回(原始xml而不是反序列化的pojo格式)。
wsTemplate.marshalSendAndReceive(requestPayload)会给我反序列化的pojo对象作为输出,但是我需要来自webservice调用的原始xml响应。
还有一个问题,如果我将响应定义为原始xml,那么我是否仍然需要定义marshaller bean:
wsTemplate.marshalSendAndReceive(requestPayload)会给我反序列化的pojo对象作为输出,但是我需要来自webservice调用的原始xml响应。
还有一个问题,如果我将响应定义为原始xml,那么我是否仍然需要定义marshaller bean:
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"/>
<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="contextPath" value="com.abc.xyz" />
</bean>
当我定义这个marshaller时,我遇到了错误:无法将类型"com.abc.xyz.GetAbc"作为元素进行编组,因为它缺少@XmlRootElement注释。
需要帮助。