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 Sanjiva Weerawarana <sa...@opensource.lk> on 2006/05/08 05:04:14 UTC

Re: [Axis2][1.0] can't get ?wsdl with using RawXMLINOutMessageReceiver

On Mon, 2006-05-08 at 11:58 +0900, Inoguchi, Kinichiro wrote:
> Hi,
> 
> I can't see WSDL via ?wsdl url, if I use RawXMLINOutMessageReceiver in
> my services.xml.
> 
> Instead of WSDL, I got error message like below;
> <error>
>  <description>Unable to generate WSDL for this service</description> 
>  <reason>Either user has not dropped the wsdl into META-INF or
> operations use message receivers other than RPC.</reason> 
> </error>

This is by design right now .. the automatic generation of WSDL cannot
generate unless it knows how the Java class is designed (i.e., what its
assumptions are). If the message receiver is RPCMessageReceiver then it
knows that the XML messages are wrapping XML that represents the
parameters and hence can generate a WSDL.

If its RawXMLInOutMessageReceiever, the only WSDL we can generate is
rather boring: basically saying every element takes any element and
returns any element as no further information is available. Actually in
WSDL 1.1 you can't even represent that .. in WSDL 2.0 you can. Hence the
decision to print that warning when the message receiver is != the RPC
one.

Sanjiva.


RE: [Axis2][1.0] can't get ?wsdl with using RawXMLINOutMessageReceiver

Posted by "Inoguchi, Kinichiro" <Ki...@hp.com>.
exactly.

I removed element of xs:anyType in and element of xs:anyType out from
generated WSDL file, 
then I added input and output schemas by hand.

Currently, I need to use raw  xml message receiver.
(I'm using doc/lit style, not RPC, now)

Thanks.
kinichiro

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Sent: Monday, May 08, 2006 9:56 PM
To: axis-user@ws.apache.org
Subject: Re: [Axis2][1.0] can't get ?wsdl with using
RawXMLINOutMessageReceiver


If you're using the raw message receiver, then any WSDL that gets
generated by a tool will produce useless information -- element of
xs:anyType in and element of xs:anyType out. What you should do is
define your input and output schemas by hand and embed them into your
WSDL. 

Anne


On 5/8/06, Inoguchi, Kinichiro <Ki...@hp.com> wrote:
Sanjiva, Anne, Thanks.

I'll use java2wsdl eclipse plugin (Code Generator Wizard) to get WSDL
file.
And put it in my service archive file after adding proper in/out
parameter by hand.

With this method, I could see ?wsdl with using 
RawXMLINOutMessageReceiver
in my services.xml.

Regards,
kinichiro

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com]
Sent: Monday, May 08, 2006 1:27 PM 
To: axis-user@ws.apache.org
Subject: Re: [Axis2][1.0] can't get ?wsdl with using
RawXMLINOutMessageReceiver


The proper way to resolve the problem is to write a WSDL file that 
reflects the input and output messages you intend to exchange and drop
it into META-INF.

Anne


On 5/7/06, Sanjiva Weerawarana <sa...@opensource.lk> wrote: 
On Mon, 2006-05-08 at 11:58 +0900, Inoguchi, Kinichiro wrote:
> Hi,
>
> I can't see WSDL via ?wsdl url, if I use RawXMLINOutMessageReceiver in
> my services.xml.
>
> Instead of WSDL, I got error message like below; 
> <error>
>  <description>Unable to generate WSDL for this service</description>
>  <reason>Either user has not dropped the wsdl into META-INF or
> operations use message receivers other than RPC.</reason> 
> </error>

This is by design right now .. the automatic generation of WSDL cannot
generate unless it knows how the Java class is designed (i.e., what its
assumptions are). If the message receiver is RPCMessageReceiver then it 
knows that the XML messages are wrapping XML that represents the
parameters and hence can generate a WSDL.

If its RawXMLInOutMessageReceiever, the only WSDL we can generate is
rather boring: basically saying every element takes any element and 
returns any element as no further information is available. Actually in
WSDL 1.1 you can't even represent that .. in WSDL 2.0 you can. Hence the
decision to print that warning when the message receiver is != the RPC 
one.

Sanjiva.

Re: [Axis2][1.0] can't get ?wsdl with using RawXMLINOutMessageReceiver

Posted by Anne Thomas Manes <at...@gmail.com>.
If you're using the raw message receiver, then any WSDL that gets generated
by a tool will produce useless information -- element of xs:anyType in and
element of xs:anyType out. What you should do is define your input and
output schemas by hand and embed them into your WSDL.

Anne

On 5/8/06, Inoguchi, Kinichiro <Ki...@hp.com> wrote:
>
> Sanjiva, Anne, Thanks.
>
> I'll use java2wsdl eclipse plugin (Code Generator Wizard) to get WSDL
> file.
> And put it in my service archive file after adding proper in/out
> parameter by hand.
>
> With this method, I could see ?wsdl with using
> RawXMLINOutMessageReceiver
> in my services.xml.
>
> Regards,
> kinichiro
>
> -----Original Message-----
> From: Anne Thomas Manes [mailto:atmanes@gmail.com]
> Sent: Monday, May 08, 2006 1:27 PM
> To: axis-user@ws.apache.org
> Subject: Re: [Axis2][1.0] can't get ?wsdl with using
> RawXMLINOutMessageReceiver
>
>
> The proper way to resolve the problem is to write a WSDL file that
> reflects the input and output messages you intend to exchange and drop
> it into META-INF.
>
> Anne
>
>
> On 5/7/06, Sanjiva Weerawarana <sa...@opensource.lk> wrote:
> On Mon, 2006-05-08 at 11:58 +0900, Inoguchi, Kinichiro wrote:
> > Hi,
> >
> > I can't see WSDL via ?wsdl url, if I use RawXMLINOutMessageReceiver in
> > my services.xml.
> >
> > Instead of WSDL, I got error message like below;
> > <error>
> >  <description>Unable to generate WSDL for this service</description>
> >  <reason>Either user has not dropped the wsdl into META-INF or
> > operations use message receivers other than RPC.</reason>
> > </error>
>
> This is by design right now .. the automatic generation of WSDL cannot
> generate unless it knows how the Java class is designed (i.e., what its
> assumptions are). If the message receiver is RPCMessageReceiver then it
> knows that the XML messages are wrapping XML that represents the
> parameters and hence can generate a WSDL.
>
> If its RawXMLInOutMessageReceiever, the only WSDL we can generate is
> rather boring: basically saying every element takes any element and
> returns any element as no further information is available. Actually in
> WSDL 1.1 you can't even represent that .. in WSDL 2.0 you can. Hence the
> decision to print that warning when the message receiver is != the RPC
> one.
>
> Sanjiva.
>

RE: [Axis2][1.0] can't get ?wsdl with using RawXMLINOutMessageReceiver

Posted by "Inoguchi, Kinichiro" <Ki...@hp.com>.
Sanjiva, Anne, Thanks.

I'll use java2wsdl eclipse plugin (Code Generator Wizard) to get WSDL
file.
And put it in my service archive file after adding proper in/out
parameter by hand.

With this method, I could see ?wsdl with using
RawXMLINOutMessageReceiver 
in my services.xml.

Regards,
kinichiro

-----Original Message-----
From: Anne Thomas Manes [mailto:atmanes@gmail.com] 
Sent: Monday, May 08, 2006 1:27 PM
To: axis-user@ws.apache.org
Subject: Re: [Axis2][1.0] can't get ?wsdl with using
RawXMLINOutMessageReceiver


The proper way to resolve the problem is to write a WSDL file that
reflects the input and output messages you intend to exchange and drop
it into META-INF.

Anne


On 5/7/06, Sanjiva Weerawarana <sa...@opensource.lk> wrote:
On Mon, 2006-05-08 at 11:58 +0900, Inoguchi, Kinichiro wrote:
> Hi,
>
> I can't see WSDL via ?wsdl url, if I use RawXMLINOutMessageReceiver in
> my services.xml.
>
> Instead of WSDL, I got error message like below; 
> <error>
>  <description>Unable to generate WSDL for this service</description>
>  <reason>Either user has not dropped the wsdl into META-INF or
> operations use message receivers other than RPC.</reason> 
> </error>

This is by design right now .. the automatic generation of WSDL cannot
generate unless it knows how the Java class is designed (i.e., what its
assumptions are). If the message receiver is RPCMessageReceiver then it 
knows that the XML messages are wrapping XML that represents the
parameters and hence can generate a WSDL.

If its RawXMLInOutMessageReceiever, the only WSDL we can generate is
rather boring: basically saying every element takes any element and 
returns any element as no further information is available. Actually in
WSDL 1.1 you can't even represent that .. in WSDL 2.0 you can. Hence the
decision to print that warning when the message receiver is != the RPC 
one.

Sanjiva.

Re: [Axis2][1.0] can't get ?wsdl with using RawXMLINOutMessageReceiver

Posted by Anne Thomas Manes <at...@gmail.com>.
The proper way to resolve the problem is to write a WSDL file that reflects
the input and output messages you intend to exchange and drop it into
META-INF.

Anne

On 5/7/06, Sanjiva Weerawarana <sa...@opensource.lk> wrote:
>
> On Mon, 2006-05-08 at 11:58 +0900, Inoguchi, Kinichiro wrote:
> > Hi,
> >
> > I can't see WSDL via ?wsdl url, if I use RawXMLINOutMessageReceiver in
> > my services.xml.
> >
> > Instead of WSDL, I got error message like below;
> > <error>
> >  <description>Unable to generate WSDL for this service</description>
> >  <reason>Either user has not dropped the wsdl into META-INF or
> > operations use message receivers other than RPC.</reason>
> > </error>
>
> This is by design right now .. the automatic generation of WSDL cannot
> generate unless it knows how the Java class is designed (i.e., what its
> assumptions are). If the message receiver is RPCMessageReceiver then it
> knows that the XML messages are wrapping XML that represents the
> parameters and hence can generate a WSDL.
>
> If its RawXMLInOutMessageReceiever, the only WSDL we can generate is
> rather boring: basically saying every element takes any element and
> returns any element as no further information is available. Actually in
> WSDL 1.1 you can't even represent that .. in WSDL 2.0 you can. Hence the
> decision to print that warning when the message receiver is != the RPC
> one.
>
> Sanjiva.
>
>