You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Vikas Phonsa <VP...@suz.com> on 2004/07/19 20:50:39 UTC

changing from RPC to Document based encoding

Hi Everybody,

 

I'm in a spot here. I have implemented a web services program in java using
Axis and used the java2wsdl to generate the wsdl and for the most part it
works fine with the client I generated, again using Axis. The encoding style
is RPC which was the default.

 

But the people who are going to be users of this webservice, say that their
client generator application (something in Siebel ), won't handle complex
types and so their SOAP message is always different from the one generated
my axis client and has wrong tags and hence is rejected.

 

They say that instead of rpc encoding, use Document-Literal encoding. I have
never worked with Doc-Literal

 

So I would appreciate if some one can tell what it takes to make a rpc based
web service to work with Document based protocol .

 

Has anyone here done such a conversion here ?

 

And any ideas about where to start ? 

 

Thanks

Vikas 


Re: changing from RPC to Document based encoding

Posted by Anand Natrajan <an...@cs.virginia.edu>.
Vikas,

Yes, I am in the process of doing so - actually, I am providing an
rpc/encoded version as well as a document/literal version of the same
service.

The basic process is mostly identical, but one gotcha is that you should use
Axis's wrapped/literal mode in order to get better interoperability. You
should change your java2wsdl task to specify this change. If you haven't
specified a style/usage combo before, here's a sample Ant task to get you
started.
        <axis-java2wsdl
            classname="com.abc.ws.server.YourClass"
            style="wrapped"
            use="literal"
            namespace="urn:YourNameSpace"
			location="http://YourServer:8080/axis/services/YourClass"
            output="${outputdir}/YourClass.wsdl">
            <classpath refid="classpath"/>
            <mapping package="com.abc.api.common"
                namespace="urn:CommonDataStructures"/>
        </axis-java2wsdl>
There's more, of course, but I am discovering the pain and pleasure as I go
along myself.

Good luck!

Anand

On Mon, 19 Jul 2004, Vikas Phonsa wrote:

: Hi Everybody,
:
:
:
: I'm in a spot here. I have implemented a web services program in java using
: Axis and used the java2wsdl to generate the wsdl and for the most part it
: works fine with the client I generated, again using Axis. The encoding style
: is RPC which was the default.
:
:
:
: But the people who are going to be users of this webservice, say that their
: client generator application (something in Siebel ), won't handle complex
: types and so their SOAP message is always different from the one generated
: my axis client and has wrong tags and hence is rejected.
:
:
:
: They say that instead of rpc encoding, use Document-Literal encoding. I have
: never worked with Doc-Literal
:
:
:
: So I would appreciate if some one can tell what it takes to make a rpc based
: web service to work with Document based protocol .
:
:
:
: Has anyone here done such a conversion here ?
:
:
:
: And any ideas about where to start ?
:
:
:
: Thanks
:
: Vikas
:
: