1.2.1 autogen WSDL seems to be wrong

2005-08-24 Thread Jarmo Doc
I've written a simple web service (JWS) that includes a method that returns 
a complex type (well hardly complex, just a couple of strings and 
booleans). The auto-generated WSDL (using Axis 1_2_1 final) for this web 
service makes no sense to me. For example, I have two booleans in my complex 
type, something like this:


class Person
{
public boolean istall;
public boolean isrich;
};

Yet the WSDL indicates:

element name=istall type=xsd:anyType /
element name=isrich type=tns3:boolean /

Note the two different WSDL types for identical (boolean) Java types. Is 
this likely to be a bug in Axis 1_2_1 final?  Should I be using a different 
version (which?)


Thanks.

_
Don’t just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/




RE: 1.2.1 autogen WSDL seems to be wrong

2005-08-24 Thread Michael Oliver
Your class should be more consistent with the JavaBeans standard with
private members that are 'tall' and 'rich' with getters 'isTall' and
'isRich' and setters 'setTall' and 'setRich' and I wager the Java2WSDL will
be more consistent as well.

Michael Oliver
CTO
Alarius Systems LLC
6800 E. Lake Mead Blvd, #1096
Las Vegas, NV 89156
Phone:(702)643-7425
Fax:(702)974-0341
*Note new email changed from [EMAIL PROTECTED]

-Original Message-
From: Jarmo Doc [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 24, 2005 7:29 AM
To: axis-user@ws.apache.org
Subject: 1.2.1 autogen WSDL seems to be wrong

I've written a simple web service (JWS) that includes a method that returns 
a complex type (well hardly complex, just a couple of strings and 
booleans). The auto-generated WSDL (using Axis 1_2_1 final) for this web 
service makes no sense to me. For example, I have two booleans in my complex

type, something like this:

class Person
{
public boolean istall;
public boolean isrich;
};

Yet the WSDL indicates:

element name=istall type=xsd:anyType /
element name=isrich type=tns3:boolean /

Note the two different WSDL types for identical (boolean) Java types. Is 
this likely to be a bug in Axis 1_2_1 final?  Should I be using a different 
version (which?)

Thanks.

_
Don't just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/




RE: 1.2.1 autogen WSDL seems to be wrong

2005-08-24 Thread Jarmo Doc
Thanks for the quick reply Michael.  I made that change but there is no 
improvement.  Here are the relevant parts of my server-side class:


public class MyMessage implements java.io.Serializable
{
 private String uid;
 private String content;

 public MyMessage() {}

 public String getUid() { return uid; }
 public void setUid(String uid) { this.uid = uid; }

 public String getContent() { return content; }
 public void setContent(String content) { this.content = content; }
};

I updated my JWS source file (and deleted the corresponding class file, just 
to be safe), restarted Tomcat, and requested the WSDL by invoking 
http://localhost:8080/axis/MyWebService.jws?wsdl and here are the 
(unexpected) results:


complexType name=MyMessage
 sequence
 element name=content nillable=true type=xsd:anyType /
 element name=uid nillable=true type=tns2:String /
 /sequence
/complexType

Am I still writing my Java class incorrectly?



From: Michael Oliver [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: axis-user@ws.apache.org
Subject: RE: 1.2.1 autogen WSDL seems to be wrong
Date: Wed, 24 Aug 2005 07:34:23 -0700

Your class should be more consistent with the JavaBeans standard with
private members that are 'tall' and 'rich' with getters 'isTall' and
'isRich' and setters 'setTall' and 'setRich' and I wager the Java2WSDL will
be more consistent as well.

Michael Oliver
CTO
Alarius Systems LLC
6800 E. Lake Mead Blvd, #1096
Las Vegas, NV 89156
Phone:(702)643-7425
Fax:(702)974-0341
*Note new email changed from [EMAIL PROTECTED]

-Original Message-
From: Jarmo Doc [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 24, 2005 7:29 AM
To: axis-user@ws.apache.org
Subject: 1.2.1 autogen WSDL seems to be wrong

I've written a simple web service (JWS) that includes a method that returns
a complex type (well hardly complex, just a couple of strings and
booleans). The auto-generated WSDL (using Axis 1_2_1 final) for this web
service makes no sense to me. For example, I have two booleans in my 
complex


type, something like this:

class Person
{
public boolean istall;
public boolean isrich;
};

Yet the WSDL indicates:

element name=istall type=xsd:anyType /
element name=isrich type=tns3:boolean /

Note the two different WSDL types for identical (boolean) Java types. Is
this likely to be a bug in Axis 1_2_1 final?  Should I be using a different
version (which?)

Thanks.

_
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/




_
Don’t just search. Find. Check out the new MSN Search! 
http://search.msn.click-url.com/go/onm00200636ave/direct/01/




RE: 1.2.1 autogen WSDL seems to be wrong

2005-08-24 Thread Jarmo Doc
OK, good idea.  I inserted a private String blah member above uid and added 
simple getter/setter methods and the deployed JWS yielded the following 
WSDL:


complexType name=MyMessage
sequence
 element name=blah nillable=true type=xsd:anyType /
 element name=content nillable=true type=tns2:String /
 element name=uid nillable=true type=tns2:String /
/sequence
/complexType

So, that's obviously wrong and conceivably a significant bug in Axis 1_2_1 
final.


Then I ran java2wsdl manually with --style WRAPPED --use LITERAL options and 
it generated the following:


complexType name=MyMessage
   sequence
element name=blah nillable=true type=xsd:string/
element name=content nillable=true type=xsd:string/
element name=uid nillable=true type=xsd:string/
   /sequence
/complexType

And that seems to be correct, given my nascent understanding of WSDL.

So I'll continue to use java2wsdl rather than JWS deployment and see where 
it leads me.  I'm quite sure that the ugly 'cannot deserialize 
java.lang.string' issue will be the next showstopper but we can discuss that 
in a new thread ;-)


Thanks a lot for your help.




From: Michael Oliver [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: 'Jarmo Doc' [EMAIL PROTECTED]
Subject: RE: 1.2.1 autogen WSDL seems to be wrong
Date: Wed, 24 Aug 2005 09:40:43 -0700

Wow, it looks like a bug.  Make one small change to your class and add a 
new

member variable

String any and the accessors getAny() and setAny() and see what happens.

My guess is that the first variable no matter what it is, is getting the 
any

type, but the rest are getting interpreted correctly.

I don't use JWS myself and prefer to use ant and Java2WSDL and WSDL2Java 
for

the added control and a more persistent implementation.

Michael Oliver
CTO
Alarius Systems LLC
6800 E. Lake Mead Blvd, #1096
Las Vegas, NV 89156
Phone:(702)643-7425
Fax:(702)974-0341
*Note new email changed from [EMAIL PROTECTED]

-Original Message-
From: Jarmo Doc [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 24, 2005 8:34 AM
To: [EMAIL PROTECTED]; axis-user@ws.apache.org
Subject: RE: 1.2.1 autogen WSDL seems to be wrong

Thanks for the quick reply Michael.  I made that change but there is no
improvement.  Here are the relevant parts of my server-side class:

public class MyMessage implements java.io.Serializable
{
  private String uid;
  private String content;

  public MyMessage() {}

  public String getUid() { return uid; }
  public void setUid(String uid) { this.uid = uid; }

  public String getContent() { return content; }
  public void setContent(String content) { this.content = content; }
};

I updated my JWS source file (and deleted the corresponding class file, 
just


to be safe), restarted Tomcat, and requested the WSDL by invoking
http://localhost:8080/axis/MyWebService.jws?wsdl and here are the
(unexpected) results:

complexType name=MyMessage
  sequence
  element name=content nillable=true type=xsd:anyType /
  element name=uid nillable=true type=tns2:String /
  /sequence
/complexType

Am I still writing my Java class incorrectly?


From: Michael Oliver [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: axis-user@ws.apache.org
Subject: RE: 1.2.1 autogen WSDL seems to be wrong
Date: Wed, 24 Aug 2005 07:34:23 -0700

Your class should be more consistent with the JavaBeans standard with
private members that are 'tall' and 'rich' with getters 'isTall' and
'isRich' and setters 'setTall' and 'setRich' and I wager the Java2WSDL 
will

be more consistent as well.

Michael Oliver
CTO
Alarius Systems LLC
6800 E. Lake Mead Blvd, #1096
Las Vegas, NV 89156
Phone:(702)643-7425
Fax:(702)974-0341
*Note new email changed from [EMAIL PROTECTED]

-Original Message-
From: Jarmo Doc [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 24, 2005 7:29 AM
To: axis-user@ws.apache.org
Subject: 1.2.1 autogen WSDL seems to be wrong

I've written a simple web service (JWS) that includes a method that 
returns

a complex type (well hardly complex, just a couple of strings and
booleans). The auto-generated WSDL (using Axis 1_2_1 final) for this web
service makes no sense to me. For example, I have two booleans in my
complex

type, something like this:

class Person
{
public boolean istall;
public boolean isrich;
};

Yet the WSDL indicates:

element name=istall type=xsd:anyType /
element name=isrich type=tns3:boolean /

Note the two different WSDL types for identical (boolean) Java types. Is
this likely to be a bug in Axis 1_2_1 final?  Should I be using a 
different

version (which?)

Thanks.

_
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/



_
Don't just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01