ryber
ryber

Reputation: 4555

Apache Axis fails after change in WSDL

I have a SOAP web service served from a .net app. Sometimes we add to some of the object definitions but these are always optional and from a XML/HTTP standpoint the xml tags that represent those fields could be left out and it works fine. This should let existing users of the web services keep working.

and this is exactly how it does work for almost everyone. Clients using .net, python, ruby etc all have no problem with this. But any change at all seems to break anyone using Apache Axis2 in Java.

It seems that on every request Axis checkes the endpoints WSDL and verifies that it is EXACTLY like the stubs it has. If not then it throws an exception. (unexpected subelement)

Is there any option in Axis to turn this feature off and have Axis just assume it's current stubs are correct?

UPDATE: I should also note that this is a problem for clients using ColdFusion since it uses Axis2

Upvotes: 1

Views: 1794

Answers (2)

ryber
ryber

Reputation: 4555

So, I'm kind of remote debugging this from our clients perspective. I Got everything up and running and was able to reproduce the error with an older version of Axis2 (1.2). The newest version I have (1.5.4) does not seem to have this problem (using ADB bindings) So upgrading is a good workaround for our clients using Axis straight up. Unfortunately a number of our clients are using ColdFusion which has the older version built in so I'll have to figure out what to do about them.

Upvotes: 0

Daniel Kulp
Daniel Kulp

Reputation: 14607

With Apache CXF, by default, it would also likely throw an exception due to an element it doesn't understand. However, you can set a property of "set-jaxb-validation-event-handler" to "false" on the endpoint and it would be ignored.

Upvotes: 1

Related Questions