Ok, let's take another tack.
When I deploy the web service and then read its wsdl using
http://localhost/axis2/services/MyPain?wsdl I get a wsdl that just seems wrong. There is no provision for the class I'm passing to contain anything complex. Further, there's no provision for the ArrayList I'm trying to return.
My service looks something like this:
And ComplexClass is something like this:
That being said, I ran a java2wsdl that's built into my
IDE (I do not know the parameters it uses) and got a *far* different wsdl file (in fact it is 3 files, 2 wsdl and one xsd. The main wsdl includes the other 2 files.) This wsdl includes type information including something for the hashmap. I made an aar file and placed the uber wsdl file in the META-INF folder. The wsdl is invalid or not being seen, unfortunately. I have tried naming it service.wsdl and MyPain.wsdl. Nothing changed. Browsing the ...?wsdl url returns
I have placed "<parameter name="useOriginalwsdl">true</parameter>" into the services.xml file. I didn't want it to generate a wsdl - I wanted it to use the one I supplied.
So in summary:
1. The wsdl generated automatically is wrong. If anyone has any hints on how to tweak the generation process, perhaps by putting annotations in the source files, I'd love to hear it.
2. I can't make axis2 recognize and use a wsdl I supply in the aar file. If anyone has any experience doing this, I'd love to hear about it.
3. Does anyone actually use this stuff using anything more complex than the 'stock symbol' sort of case?
I'm dead in the water now.