I am using jaxb2Marshaller for consuming a SOAP service. I am using it inside Spring webServiceTemplate. The marhsalling works fine on windows but not on linux.
The issue only comes for attribute named "ID". Changing the attribute name to "id" or something else works fine.
Is there any difference between marshaling done on windows and linux?
Spring WebserviceTemplate configuration:
<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>
Now when I am calling the method webServiceTemplate.marshalSendAndReceive(createRequest);
The "CreateRequest" object is getting marshaled into an XML. All the attributes are populated except the attribute named "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}
}
I am consuming this webservice, so changing WSDL is not allowed.
Can someone help me in fixing this issue?