assume I am using Stubs on the client side generated by the Axis, and made a SOAP Request with attachments.
I generated the server side classes referencing to the XSD schema, and also a xxxMyServiceSoapBindingImpl class from the Axis. Q1) can one really trust the "using XSD, by Axis generated serializer/deserializer classes" ? Q2) do I have to deal with low level APIs of SAAJ to get the attachment? or does Axis handle it implicitly? I mean how does Axis run really? is there a sort of Listener class written by Axis guys which listens at port 8099 (my Tomcat Port) and gets the HTTPRequest and handles the formatting and delivers me in my xxxImpl class a nice Java object, nourished with Java beans instead of XML data waiting to getting parsed? and at the end, if I send sth. to the client again, return XXXMyService_BusinessObject; this Axis service again deserializes to SOAP and sends to the client..
I think, the Axis documentation does not mention what happens actually in the background; so developers donot have much control on the whole processing, which I personally dislike. They just assume you should follow the herd. and for example in my case where I didnot install Axis within $CATALINA_HOME/webapps/axis but instead just copied the content of axis's original web.xml to my application location at c:\MyProject\webapp\WEB-INF\web.xml (I generated the classical web application tree structure here)and added the Axis jars to my project. also redirected Tomcat's docbase to c:\MyProject\webapp\
For Q2, Axis uses SAAJ api and supports DIME attachments, there is example available on this under samples directort which has some short documentation as well.
Yes. RPC based webservice gives you a fine grained javaobject after parsing the soap message both for your axis client and server.
>>They just assume you should follow the herd. Thats normal, there is lot of beginners who dont know how to copy the original axis context to their webapps folder. When i started learning JWS or jwsdk(i guess), it took me more than 3 days to know where to place servlet classes.