Axis 1.4 - SOAP serialization format suddenly changed after re-deploy
posted 6 years ago
I've just experienced quite a strange thing - I had a webservice, which returns array of simple Java beans with couple of properties of simple types (int and Strings) as follows:
Serialized to SOAP-XML, it used to look like this:
This was OK, but after I re-deployed the WS without changing structure of Channel bean, format has suddenly changed to this:
Where channelId and defaultOrder are now references to another tags, which is WRONG and now I cannot make it behave like before. Does anybody have an idea why the output has changed and how to make it work like before that change? My deply.wsdd looks like this:
thanks to all, any suggestion is highly appreciated
It was caused by deployment of a separate Web Service which contained an explicit serializer/deserializer definition:
I had this code in here so I could send DIME attachments. It works too, but the unintended side-effect seems to be the change in encoding simple types in all services.
I suspect the serializer overrides the default serializer wherever one isn't explicity specified.
When I removed that service and restarted the site (Axis), it reverted to the correct syntax.
I am investigating further now and doing more tests.
I was going to try changing my use of int to Integer, but I see you 've already got Integer so I'll look at defining explicit serializers on the other objects....