Re: Client Code generator ..

2001-07-12 Thread Michele Costabile

> Hen, not to discourage since what I am working on is vapor since it hasn't
> been released, but I am porting a WSDL2 Axis Client proxy (from another
> source base) which I hope to have working with primitive types by the end
of
> the week (and damn that end is coming up fast :-().

I would be very interested to see a WSDL proxy generator. Since I
specified SOAP as the reference platform for our services I have had a lot
of success on the Microsoft platform (and quite a few services already in
place), but now I am in real trouble with Java clients.
I suggest you to try your tool against WSDL generated by the MS SOAP Toolkit
2.0 that is where the tools from Alphaworks do fail and hand coding is a
bear.
Are you also creating static types and mappers for complex types or is
everything dynamic?




Issues in SOAP 2.2

2001-07-12 Thread kim . schjefstad

Hello fellow developers(?)

I'm running Apache SOAP 2.2 (not the nightly builds) and I'm having problem
with the xsi:null attribute. I've found that xsi:null only works with the
99-xsi namespace. The problem is in the static method
SoapEncUtils.isNull(Element element). Below is a quick fix I made to make
this work with all namespaces for xsi. I have also included a new constant
to make this method work with the Microsoft .Net Beta 2 who send xsi:null's
as xsi:null="1". If this is allready fixed in the nightly builds please
excuse this posting.

cheers,
-kims-


org.apache.soap.encoding.soapenc.SoapEncUtils

  public static boolean isNull(Element element)
  {
String nullValue = DOMUtils.getAttributeNS(element,

Constants.NS_URI_1999_SCHEMA_XSI,

Constants.ATTR_NULL);
if( nullValue == null ) {
nullValue = DOMUtils.getAttributeNS(element,

Constants.NS_URI_2000_SCHEMA_XSI,
   Constants.ATTR_NULL);
}

if( nullValue == null ) {
nullValue = DOMUtils.getAttributeNS(element,

Constants.NS_URI_2001_SCHEMA_XSI,
   Constants.ATTR_NULL);
}

return (( nullValue != null ) &&
( nullValue.equals(Constants.ATTRVAL_TRUE) ||
  nullValue.equals(Constants.ATTRVAL_1)));
  }
org.apache.soap.Constants  
 public static String ATTRVAL_1 = "1";




I met an error

2001-07-12 Thread 이강희



Hi,
I'm Rocker Lee.
I intalled SOAP tool kit and tested to find an 
error.
When I use web browser to view, "http://localhost:8080/apache-soap/servlet/rpcrouter",
which showed normal message in install guide.
But I tried org.apache.soap.server.ServiceManagerClient, then 

 " Ouch, the call failed:   Fault 
Code   = SOAP-ENV:Server.Exception:   Fault String = 
java.lang.NoSuchMethodError "
message appeared.
 
My system is
    TOMCAT 3.2.2.
    SOAP 2.2
    bsf2.2
    activation 1.0.1
    javamail 1.2

I used command  like
        java -classpath 
C:\jdk1.3.1\lib\tools.jar;.;C:\jakarta-tomcat-3.2.2\lib\xerces.jar;C:\soap-2_2\lib\soap.jar;C:\jakarta-tomcat-3.2.2\lib\activation.jar;C:\jakarta-tomcat-3.2.2\lib\mail.jar;C:\soap-2_2\webapps\soap.war 
org.apache.soap.server.ServiceManagerClient http://localhost:8080/apache-soap/servlet/rpcrouter 
list
 
What is the reason?


Re: Tomcat problem

2001-07-12 Thread Dom Peluso - Albany
Title: 







Please remove from list. 
  








I've just installed tomcat and when i'm running simple servlet everything
goes fine, but at the end tomcat server closes himself.

Is it something wrong with the configuration ?

Please help me?





Re: Client Code generator ..

2001-07-12 Thread Scott Nichol

Michele,

I am curious: have you tried WASP (http://www.idoox.com) or GLUE
(http://www.themindelectric.com)?  I have no experience with either, but
both claim to support Java and WSDL.

Scott

- Original Message -
From: "Michele Costabile" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Thursday, July 12, 2001 6:38 AM
Subject: Re: Client Code generator ..


> > Hen, not to discourage since what I am working on is vapor since it
hasn't
> > been released, but I am porting a WSDL2 Axis Client proxy (from another
> > source base) which I hope to have working with primitive types by the
end
> of
> > the week (and damn that end is coming up fast :-().
>
> I would be very interested to see a WSDL proxy generator. Since I
> specified SOAP as the reference platform for our services I have had a lot
> of success on the Microsoft platform (and quite a few services already in
> place), but now I am in real trouble with Java clients.
> I suggest you to try your tool against WSDL generated by the MS SOAP
Toolkit
> 2.0 that is where the tools from Alphaworks do fail and hand coding is a
> bear.
> Are you also creating static types and mappers for complex types or is
> everything dynamic?
>




RE: Client Code generator ..

2001-07-12 Thread John Maughan

Hi Michele,

At Cape Clear we have built a WSDL to Java (&VB) proxy generator as part of
our CapeStudio toolset. This generator handles primitive & complex types,
arrays etc. The tool also includes a graphical XSLT generator which performs
bi-directional XML to XML, XML to SOAP and SOAP to SOAP mappings. A free
early access version of the toolset is available from Tuesday 17th July
(next week) on www.capeclear.com/capestudio. Cape Clear also have a Java,EJB
and CORBA to WSDL generator as part of the CapeConnect Web Services
platform.

Hope this is useful,
John



-Original Message-
From: Michele Costabile [mailto:[EMAIL PROTECTED]]
Sent: 12 July 2001 11:39
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: Client Code generator ..


> Hen, not to discourage since what I am working on is vapor since it hasn't
> been released, but I am porting a WSDL2 Axis Client proxy (from another
> source base) which I hope to have working with primitive types by the end
of
> the week (and damn that end is coming up fast :-().

I would be very interested to see a WSDL proxy generator. Since I
specified SOAP as the reference platform for our services I have had a lot
of success on the Microsoft platform (and quite a few services already in
place), but now I am in real trouble with Java clients.
I suggest you to try your tool against WSDL generated by the MS SOAP Toolkit
2.0 that is where the tools from Alphaworks do fail and hand coding is a
bear.
Are you also creating static types and mappers for complex types or is
everything dynamic?



cvs commit: xml-soap/java/samples/interop EchoTestClient.java

2001-07-12 Thread rubys

rubys   01/07/12 08:59:11

  Modified:java/samples/interop EchoTestClient.java
  Log:
  Make clear that faults and exceptions are not "OK"
  
  Revision  ChangesPath
  1.9   +5 -8  xml-soap/java/samples/interop/EchoTestClient.java
  
  Index: EchoTestClient.java
  ===
  RCS file: /home/cvs/xml-soap/java/samples/interop/EchoTestClient.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- EchoTestClient.java   2001/07/10 13:06:57 1.8
  +++ EchoTestClient.java   2001/07/12 15:59:08 1.9
  @@ -233,7 +233,10 @@
 Response resp = call.invoke(url, soapAction);
 
 // check response 
  -  if (!resp.generatedFault()) {
  +  if (resp.generatedFault()) {
  +Fault fault = resp.getFault ();
  +System.out.println(methodName + "\t FAIL: " + fault.getFaultString());
  +  } else {
   Parameter ret = resp.getReturnValue();
   Object output = (ret==null) ? null : ret.getValue();
   Object input = (param==null) ? null : param.getValue();
  @@ -244,15 +247,9 @@
 System.out.println(methodName + "\t FAIL: " + output);
   }
 }
  -  else {
  -Fault fault = resp.getFault ();
  -System.out.println (methodName + " generated fault: ");
  -System.out.println ("  Fault Code   = " + fault.getFaultCode());  
  -System.out.println ("  Fault String = " + fault.getFaultString());
  -  }
 
   } catch (Exception e) {
  -  e.printStackTrace();
  +  System.out.println(methodName + "\t FAIL: " + e);
   }
 }
   }
  
  
  



RE: Client Code generator ..

2001-07-12 Thread KIND,LANCE (HP-FtCollins,ex1)

The Structs and arrays will have to wait another release.  I am just trying
to get the simplest thing out right now.  The release after will be arrays,
then at last Structs.  It is planned that the Structs will be represented by
classes with public fields.  Those 'struct classes' are generated as inner
classes of the Proxy.  

The word 'generated' here means java code generation.  This gives the
developer freedom to change the proxy to their hearts content. 

> 
> Are you also creating static types and mappers for complex types or is
> everything dynamic?

I am not certain what you mean by static types.  I think the answer is yes
since there is one given type established at the time the proxy generation
tool is executed (at least that is how it works in the other source base).
This could change since it appears that Axis's serialization is a bit more
flexible.

Cheers,

==>Lancer--- 


> -Original Message-
> From: Michele Costabile [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, July 12, 2001 3:39 AM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: Re: Client Code generator ..
> 
> 
> > Hen, not to discourage since what I am working on is vapor 
> since it hasn't
> > been released, but I am porting a WSDL2 Axis Client proxy 
> (from another
> > source base) which I hope to have working with primitive 
> types by the end
> of
> > the week (and damn that end is coming up fast :-().
> 
> I would be very interested to see a WSDL proxy generator. Since I
> specified SOAP as the reference platform for our services I 
> have had a lot
> of success on the Microsoft platform (and quite a few 
> services already in
> place), but now I am in real trouble with Java clients.
> I suggest you to try your tool against WSDL generated by the 
> MS SOAP Toolkit
> 2.0 that is where the tools from Alphaworks do fail and hand 
> coding is a
> bear.
> Are you also creating static types and mappers for complex types or is
> everything dynamic?
> 


 KIND,LANCE (HP-FtCollins,ex1).vcf


cvs commit: xml-soap/java/samples/interop EchoTestClient.java

2001-07-12 Thread rubys

rubys   01/07/12 09:50:47

  Modified:java/samples/interop EchoTestClient.java
  Log:
  Order the tests per http://www.whitemesa.com/interop/proposal2.html
  
  Revision  ChangesPath
  1.10  +22 -22xml-soap/java/samples/interop/EchoTestClient.java
  
  Index: EchoTestClient.java
  ===
  RCS file: /home/cvs/xml-soap/java/samples/interop/EchoTestClient.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- EchoTestClient.java   2001/07/12 15:59:08 1.9
  +++ EchoTestClient.java   2001/07/12 16:50:43 1.10
  @@ -136,24 +136,25 @@
   DecimalDeserializer decimalSer = new DecimalDeserializer();
   BooleanDeserializer booleanSer = new BooleanDeserializer();
   smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName(OBJECT_URI, "SOAPStruct"), 
Data.class, dataSer, dataSer);
  +
  +Parameter p = new Parameter("inputString", String.class, "Hi there!", null);
  +smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
stringDser);
  +doCall(url, "echoString", p);
  +
  +p = new Parameter("inputStringArray", String[].class, new String[]{
  +  "First",
  +  "Second",
  +  "Fifth (just kidding :))",
  +  "Fourth",
  +  "Last"}, null);
  +smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
arraySer);
  +doCall(url, "echoStringArray", p);   
   
   Integer i = new Integer(5);
  -Parameter p = new Parameter("inputInteger", Integer.class, i, null);
  +p = new Parameter("inputInteger", Integer.class, i, null);
   smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
intDser);
   doCall(url, "echoInteger", p);
   
  -p = new Parameter("inputFloat", Float.class, new Float(55.5), null);
  -smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
floatDser);
  -doCall(url, "echoFloat", p);
  -
  -p = new Parameter("inputString", String.class, "Hi there!", null);
  -smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
stringDser);
  -doCall(url, "echoString", p);
  -
  -p = new Parameter("inputStruct", Data.class, new Data(5, "Hola, baby", 
(float)10.0), null);
  -smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
dataSer);
  -doCall(url, "echoStruct", p);
  -
   p = new Parameter("inputIntegerArray", Integer[].class, new Integer[]{
 new Integer(5),
 new Integer(4),
  @@ -162,6 +163,10 @@
 new Integer(1)}, null);
   smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
arraySer);
   doCall(url, "echoIntegerArray", p);  
  +
  +p = new Parameter("inputFloat", Float.class, new Float(55.5), null);
  +smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
floatDser);
  +doCall(url, "echoFloat", p);
   
   p = new Parameter("inputFloatArray", Float[].class, new Float[]{
 new Float(5.5),
  @@ -171,15 +176,10 @@
 new Float(1.1)}, null);
   smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
arraySer);
   doCall(url, "echoFloatArray", p);
  -
  -p = new Parameter("inputStringArray", String[].class, new String[]{
  -  "First",
  -  "Second",
  -  "Fifth (just kidding :))",
  -  "Fourth",
  -  "Last"}, null);
  -smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
arraySer);
  -doCall(url, "echoStringArray", p);   
  +
  +p = new Parameter("inputStruct", Data.class, new Data(5, "Hola, baby", 
(float)10.0), null);
  +smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("", "return"), null, null, 
dataSer);
  +doCall(url, "echoStruct", p);
   
   p = new Parameter("inputStructArray", Data[].class, new Data[]{
 new Data(5, "cinqo", new Float("5.5").floatValue()),
  
  
  



RE: Bugs in Soap 2.2 BeanSerializer?

2001-07-12 Thread Soumen Sarkar

How sad.. that nobody in Apache Soap Development community has the GUTS to
acknowledge that either it is a bug or not a bug in Soap 2.2 BeanSerializer.
Why should
Soap 2.2 BeanSerialize run out of stack depth if class Employee contains a
field 'subordinates'
of type Employee[] or Vector of Employee?

What purpose [EMAIL PROTECTED] serves if I am not able to get answer
to this technical question from
so called experts?

Could anybody please suggest suitable forums where I may post technical
question such as this regarding
APACHE SOAP 2.2?

Thanks in advance to anybody kind enough to reply.

Regards,
Soumen.

>  -Original Message-
> From: Soumen Sarkar  
> Sent: Monday, July 09, 2001 11:11 AM
> To:   '[EMAIL PROTECTED]'
> Subject:  Bugs in Soap 2.2 BeanSerializer?
> 
> Hi,
> 
> I tried to exchange the following data structure over SOAP by using SOAP
> 2.2 Bean Serializer class
> public class Employee implements Serializable
> {
> // not null
> public String name;
> // null if no manager
> public Employee manager;
> // null if no subordinates,this is a Employee Vector
> public Vector subordinates;
> }
> It runs into the following serialization problem:
>  
>  
> java.lang.StackOverflowError 
> at java.lang.Class.toString(Class.java:82) 
> at java.lang.String.valueOf(String.java:1925) 
> at
> org.apache.soap.util.xml.XMLJavaMappingRegistry.getKey(XMLJavaMappingRegis
> try.java:265) 
> at
> org.apache.soap.util.xml.XMLJavaMappingRegistry.queryElementType(XMLJavaMa
> ppingRegistry.java:192) 
> at
> org.apache.soap.encoding.SOAPMappingRegistry.queryElementType(SOAPMappingR
> egistry.java:460) 
> at
> org.apache.soap.encoding.soapenc.SoapEncUtils.generateStructureHeader(Soap
> EncUtils.java:129) 
> at
> org.apache.soap.encoding.soapenc.SoapEncUtils.generateStructureHeader(Soap
> EncUtils.java:116) 
> at
> org.apache.soap.encoding.soapenc.BeanSerializer.marshall(BeanSerializer.ja
> va:86) 
> at
> org.apache.soap.util.xml.XMLJavaMappingRegistry.marshall(XMLJavaMappingReg
> istry.java:238) 
> at
> org.apache.soap.encoding.soapenc.ArraySerializer.marshall(ArraySerializer.
> java:133) 
> .. 
> .. 
> .. 
> at
> org.apache.soap.encoding.soapenc.BeanSerializer.marshall(BeanSerializer.ja
> va:131) 
>  
>  
>  
> 
> Basically I found out that SOAP 2.2 BeanSerializer can not handle Employee
> class having
> subordinate field as a Vector of Employee (or Employee[]). When I shanged
> subordinates field
> to Vector of String (or String[]) there was no StackOverflow problem.
> There is no problem in
> exchanging this data structure over EJB (i.e Java RMI). I also found out
> that SOAP 2.2 XML
> serialization does not implement reference semantics as it is done in
> basic Java/RMI serialization.
> What this means is that XML messages tend to be very large in situations
> where Employee contains
> reference to another Employee(i.e manager). What SOAP 2.2 BeanSerializer
> does is to LITERALLY
> INCLUDE ALL DETAILS OF MANAGER in EACH SUBORDINATE OF THAT MANAGER.
> This is very naive implementation and will cause very large XML messages.
> XML permits ID, IDERF,
> why not use that? Why to literally REPEAT Manager details in each
> Employee?
> 
> Can somebody from SOAP development team confirm that these are indeed
> BeanSerializer bug/shortcomings?
> I am attaching complete Employee class below.
> 
> Regards,
> Soumen Sarkar
> 
> Atoga Systems Inc. (http://www.atoga.com)
> 510-743-0254
> 
> Employee class
> 
> //Writing Employee as an ideal bean by providing get and set methods
> package AnotherEmployeeSLBean;
> import java.io.*; 
> import java.util.*; 
> public class Employee implements Serializable 
> { 
> // not null 
> public String name; 
> // null if no manager
> public Employee manager; 
> // null if no subordinates,this is a Employee Vector 
> public Vector subordinates; 
> // not null 
> public String ssn; 
> public double salary; 
> // null if no dependents 
> public Dependent[] dependents; 
> public Employee() 
> { } 
> public Employee(String name,Employee manager,Employee[]
> subordinates,String ssn,double salary,Dependent[] dependents) 
> { this.name = name; 
> this.manager = manager; 
> this.subordinates = subordinates; 
> this.ssn = ssn; 
> this.salary = salary; 
> this.dependents = dependents; 
> } 
> public String getName() { return name; }
> public void setName(String name) { this.name = name; } 
> public Employee getManager() { return manager; } 
> public void setManager(Employee manager) { this.manager = manager; } 
> public Vector getSubordinates() { return subordinates; } 
> public void setSubordinates(Vector subordinates) { this.subordinates =
> subordinates; } 
> public String getSsn() { return ssn; } 
> public void setSsn(String ssn) { this.ssn = ssn; } 
> public double getSalary() { return salary; } 
> public void setSalary(double salary) { this.salary = salary; } 
> public Dependent[] getDependents() { return dependents; } 
> p

Re: Bugs in Soap 2.2 BeanSerializer?

2001-07-12 Thread Brett McLaughlin

> How sad.. that nobody in Apache Soap Development community has the GUTS to
> acknowledge that either it is a bug or not a bug in Soap 2.2
BeanSerializer.
> Why should
> Soap 2.2 BeanSerialize run out of stack depth if class Employee contains a
> field 'subordinates'
> of type Employee[] or Vector of Employee?

Lose the attitude... these people work their tails off for free, and I can't
imagine why you would want to behave like that to them.

>
> What purpose [EMAIL PROTECTED] serves if I am not able to get answer
> to this technical question from
> so called experts?
>
> Could anybody please suggest suitable forums where I may post technical
> question such as this regarding
> APACHE SOAP 2.2?

Funny... you don't want to pay for support or a commercial implementation,
and then get upset at the very people who make that possible.

Come on...show some respect for these folks. Take it easy ;-)
-Brett




IBM Webservice Development Kit

2001-07-12 Thread N.V.Sairam

Hi,

I am trying to deploy a Java Bean using IBM Webservice Development Kit. The
Java Bean has the following signature,
//
public Element getDetailFromEmployeeID(Element searchId) throws SQLException
{}
//

The method does connect to oracle 8i, query the records, create a Element
Object, which I will using thru my client program.

When I try to deploy the above mentioned Java Bean, the IDE says,

"No Public methods with in/out of only base type found."

Enlight me.


Thanks,
N.V.Sairam

NEC Soft, Ltd.
1-18-6, Shinkiba,
Kotuo-ku,
Tokyo 136 8608
Phone : (03)  5569 3228
Email : [EMAIL PROTECTED]
-

This message is for the designated recipient only and may contain privileged
or confidential information.  If you have received it in error, please
notify the sender immediately and delete the original.  Any other use of the
email by you is prohibited.




Re: Bugs in Soap 2.2 BeanSerializer?

2001-07-12 Thread Scott Nichol

Soumen,

As I see it, as a user of Apache SOAP, you are a member of a community.  You
have contributed by posting notice of a possible bug and pointing out what
you believe is an inefficiency in the implementation.  You have a wonderful
chance to contribute further by reading the source yourself, confirming that
the bug is present, figuring out a good fix, and posting a patch to this
list so that others can benefit.  Of course, that would require you somehow
find the time to do so and then make the product of your labor public for
inspection that will lead some to admire and respect you while others find
reason to ridicule you.

Anyway, in this case it seems clear that you are experiencing the effects of
a limitation of the implementation.  The BeanSerializer does not maintain a
record of instances that have been serialized to allow it to href them in
later serializations.  Therefore, any cyclic graph should, I believe, cause
infinite recursion.

Scott

- Original Message -
From: "Soumen Sarkar" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 12, 2001 7:00 PM
Subject: RE: Bugs in Soap 2.2 BeanSerializer?


> How sad.. that nobody in Apache Soap Development community has the GUTS to
> acknowledge that either it is a bug or not a bug in Soap 2.2
BeanSerializer.
> Why should
> Soap 2.2 BeanSerialize run out of stack depth if class Employee contains a
> field 'subordinates'
> of type Employee[] or Vector of Employee?
>
> What purpose [EMAIL PROTECTED] serves if I am not able to get answer
> to this technical question from
> so called experts?
>
> Could anybody please suggest suitable forums where I may post technical
> question such as this regarding
> APACHE SOAP 2.2?
>
> Thanks in advance to anybody kind enough to reply.
>
> Regards,
> Soumen.
>
> >  -Original Message-
> > From: Soumen Sarkar
> > Sent: Monday, July 09, 2001 11:11 AM
> > To: '[EMAIL PROTECTED]'
> > Subject: Bugs in Soap 2.2 BeanSerializer?
> >
> > Hi,
> >
> > I tried to exchange the following data structure over SOAP by using SOAP
> > 2.2 Bean Serializer class
> > public class Employee implements Serializable
> > {
> > // not null
> > public String name;
> > // null if no manager
> > public Employee manager;
> > // null if no subordinates,this is a Employee Vector
> > public Vector subordinates;
> > }
> > It runs into the following serialization problem:
> > 
> > 
> > java.lang.StackOverflowError
> > at java.lang.Class.toString(Class.java:82)
> > at java.lang.String.valueOf(String.java:1925)
> > at
> >
org.apache.soap.util.xml.XMLJavaMappingRegistry.getKey(XMLJavaMappingRegis
> > try.java:265)
> > at
> >
org.apache.soap.util.xml.XMLJavaMappingRegistry.queryElementType(XMLJavaMa
> > ppingRegistry.java:192)
> > at
> >
org.apache.soap.encoding.SOAPMappingRegistry.queryElementType(SOAPMappingR
> > egistry.java:460)
> > at
> >
org.apache.soap.encoding.soapenc.SoapEncUtils.generateStructureHeader(Soap
> > EncUtils.java:129)
> > at
> >
org.apache.soap.encoding.soapenc.SoapEncUtils.generateStructureHeader(Soap
> > EncUtils.java:116)
> > at
> >
org.apache.soap.encoding.soapenc.BeanSerializer.marshall(BeanSerializer.ja
> > va:86)
> > at
> >
org.apache.soap.util.xml.XMLJavaMappingRegistry.marshall(XMLJavaMappingReg
> > istry.java:238)
> > at
> >
org.apache.soap.encoding.soapenc.ArraySerializer.marshall(ArraySerializer.
> > java:133)
> > ..
> > ..
> > ..
> > at
> >
org.apache.soap.encoding.soapenc.BeanSerializer.marshall(BeanSerializer.ja
> > va:131)
> > 
> > 
> > 
> >
> > Basically I found out that SOAP 2.2 BeanSerializer can not handle
Employee
> > class having
> > subordinate field as a Vector of Employee (or Employee[]). When I
shanged
> > subordinates field
> > to Vector of String (or String[]) there was no StackOverflow problem.
> > There is no problem in
> > exchanging this data structure over EJB (i.e Java RMI). I also found out
> > that SOAP 2.2 XML
> > serialization does not implement reference semantics as it is done in
> > basic Java/RMI serialization.
> > What this means is that XML messages tend to be very large in situations
> > where Employee contains
> > reference to another Employee(i.e manager). What SOAP 2.2 BeanSerializer
> > does is to LITERALLY
> > INCLUDE ALL DETAILS OF MANAGER in EACH SUBORDINATE OF THAT MANAGER.
> > This is very naive implementation and will cause very large XML
messages.
> > XML permits ID, IDERF,
> > why not use that? Why to literally REPEAT Manager details in each
> > Employee?
> >
> > Can somebody from SOAP development team confirm that these are indeed
> > BeanSerializer bug/shortcomings?
> > I am attaching complete Employee class below.
> >
> > Regards,
> > Soumen Sarkar
> >
> > Atoga Systems Inc. (http://www.atoga.com)
> > 510-743-0254
> >
> > Employee class
> > 
> > //Writing Employee as an ideal bean by providing get and set methods
> > package AnotherEmployeeSLBean;
> > import java.io.*;
> > import java.util.*