Friday, September 18, 2009

Axis 1.2 / Spring and Upper case operation names

If your wsdl has an operation name starting with an upper case, don't go for the Axis1.2 + Spring 1.2.5 dynamic proxy solution.

Problem => Axis generates remote interface methods in lower camel case notation even if the web service operation is in upper case. Initially thought Axis was the problem, but a simple Axis client works perfectly. It is when you try wiring together Axis and Spring to generate an Axis dynamic proxy using JaxRpcPortProxyFactoryBean that the problem crops up. Spring invokes the operation in the same case as interface method name.

Resolution => Tweak the generated interface manually or simply wire in Axis and Spring bypassing the JaxRpcPortProxyFactoryBean.

Need to check if Spring 2 has this problem sorted out.

1 comment:

The Practical Idealist said...

I'm surprised that string operations - which have been studied at length and dealt with in about a zillion different ways - are still causing problems like these. It's unacceptable that it's happening at the level of an open-source library.