【发布时间】:2017-05-22 08:05:49
【问题描述】:
我正在使用 jaxb2Marshaller 来使用 SOAP 服务。我在 Spring webServiceTemplate 中使用它。编组在 Windows 上运行良好,但在 linux 上不行。
问题仅出现在名为“ID”的属性上。将属性名称更改为“id”或其他名称可以正常工作。
在 windows 和 linux 上进行封送处理有什么区别吗?
Spring WebserviceTemplate 配置:
<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="marshaller" ref="jaxb2Marshaller"></property>
<property name="unmarshaller" ref="jaxb2Marshaller"></property>
<property name="defaultUri"><value>${ws.url}</value></property>
...
</bean>
现在,当我调用 webServiceTemplate.marshalSendAndReceive(createRequest); 方法时,“CreateRequest”对象正在编组为 XML。除名为“ID”的属性外,所有属性均已填充。
SubscriberList.java extends Parent {
protected String abc;
protected String def;
...
}
Parent.java {
protected int ID;
public getID(){return this.id}
public setID(int value){this.id=value}
}
我正在使用此 Web 服务,因此不允许更改 WSDL。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: spring jaxb spring-integration jax-ws spring-ws