I'm trying to write a wrapped- style service and client.
After fighting for days with unexplained things and missing documentation, I decided that I need to
write my WSDL by hand.
In my deplyment I use style="wrapped" use="literal" and include my wsdl with <wsdlFile>
What I've found is that no matter what my <wsdl:message> and <wsdl:types> parts says, Axis always returns
a MyFunctionResponse element, enclosing a MyFunctionReturn.
Are those two hard coded? Why is it not paying attention to the format of the messages I sepcify in my
WSDL file?
**************
Second question, that has been subtly avoided by everyone here in many previous instances:
(maybe I'll get an intelligent answer this time)
All the doc/lit discussions I've seen deal with the issue of how to format the request but none talk
about the proper way to return a piece of free XML. I've finally managed to do it but I don't feel
100% comfortable with the solution so I'd like some comments. I'm sure there's people here who
know more than I.
My service function with this signature: Element MyFunction (String s)
Axis insists on serializing the return Element as having an xsi:type="somens:Element"
where "somens" is an Apache Axis namespace. Not very *interoperable*.
So what I did was to put a handler on the return path that changes the returnType of the
operation to {http://www.w3.org/2001/XMLSchema-instance}anyType
From the client side, after creating my service from the WSDL file, and creating a call
to a certain port/operation, then I do:
call.setOperationStyle(Style.WRAPPED);
call.setReturnType(Constants.XSD_ANYTYPE);
Well, is this the right way to do things?? Is using a handler at the end of the service return path
correct or is it just a dirty hack?
BarZ
Nueva forma de conectarse a internet en URUGUAY ------------- Cuanto gasta hoy ? -------------- Tel. 0909.20.30 => Acceso 100% digital 56K! Promocion lanzamiento: $0,10 mas IVA el minuto. =============================================== http://www.internet.com.uy - Internet en serio.
