Hi, Ranjith. Actually, I don't think document/literal and message-style are exactly equivalent. Document/literal is defined by the WSDL spec and is general term that applies to all web services, whether implemented with Axis, JWSDP, .NET, etc. Message-style is an Axis-specific technique for handling document/literal operations. The difference among document, wrapped, and message style is the way you write the Java implementation, not in the way the message is routed. If the <service> element in deploy.wsdd has "style='document'", the operation receives one parameter of an application-specific type (e.g., PurchaseOrder). If "style='message'", the operation receives a parameter of type org.w3c.dom.Element[], org.w3c.dom.Document, etc. But by default, the message routing is done the same for all document/literal operations: the qualified name of the child of the SOAP Body is used as the qualified name of the operation.

Regards,
Mike

PILLAI,RANJITH (HP-PaloAlto,ex1) wrote:

Hi Michael,

 I didn't suggest it for rpc/literal operation. I meant
Document/Literal(Message Style in axis). The operation name should match
wrapper element name for successful invocation of web service methods.

Thanks,
Ranjith Pillai.

-----Original Message-----
From: Michael Woinoski [mailto:[EMAIL PROTECTED] Sent: Thursday, November 13, 2003 2:35 PM
To: [EMAIL PROTECTED]
Subject: Re: How to define document/literal service with multiple operatio
ns


Hi, Ranjith. What you are suggesting is basically an rpc-literal operation. Several postings to this list have mentioned that rpc-literal is not (yet) supported by all Web service implementations (even though it is recommended
in the WS-I Basic Profile), so I'd prefer to avoid rpc-literal for
interoperability.


That leaves using SOAPAction for routing document-literal operations. It
sounds like the HTTPActionHandler should do it but I haven't figured out how to configure it.


Thanks,
Mike

PILLAI,RANJITH (HP-PaloAlto,ex1) wrote:


Hi Michael,

I hope you are using Message style service here.
I don't how to add this to axis client. But u can edit your SOAP message
directly if you are using tcpmon. So in tcpmon add another element(your
operation name)directly under soap body. For some reason axis client is

not


doing this(if you find please let me know too :)).

For eg: if you look into your tcpmon, you can see under soap body, your
document is appended directly with out a wrapper element.

<soapenv:Body>
        <your document>
</soapenv:Body>

so edit it like this...

<soapenv:Body>
        <your-method-name>
                <your document>
        </your-method-name>
</soapenv:Body>

then resend tcpmon.

This way you can invoke any method in your webservice. Unfortunately I

don't


know to write an axis client for this.

Hope this helps(Not a complete answer, but partial).

Cheers,
Ranjith Pillai.



-----Original Message-----
From: Michael Woinoski [mailto:[EMAIL PROTECTED] Sent: Thursday, November 13, 2003 1:47 PM
To: Axis User mailing list
Subject: How to define document/literal service with multiple operations


How can I define a document/literal service with multiple operations?
Because there's no wrapper element around the input message parts, Axis seems to
have a problem invoking the correct service method.


If I add a value for SOAPAction in the service's binding, the client stubs
set SOAPAction in the HTTP request correctly, but Axis doesn't use the
SOAPAction value. I found the Axis HTTPActionHandler class and tried adding it to the


request flow in the service's deploy.wsdd but it didn't seem to make a difference. Does Axis support this? If so, how do I configure it?

Thanks,
Mike




--


Mike Woinoski                      Pine Needle Consulting
mailto:[EMAIL PROTECTED]



Reply via email to