Pop,

As you have seen, the more you make use of the types defined by SOAP (primitives
and arrays), the easier it is to interoperate between different implementations.
My advice specific to Vector is to use arrays instead.  I always do this.  More
generally, I try to limit the use of the SOAP struct to my own classes and avoid
the use of Java library classes in my method signatures.  Similarly, when using
Microsoft tools, I do not use things like DataSet as parameters or return values
(although Microsoft uses them liberally in its products).

When you do use the SOAP struct, whether for your own classes or
platform-oriented constructs such as DataSet, you will need to provide your own
serializers.  This is true for Apache SOAP in the Java world and .NET in the
Microsoft world.  There are some useful articles on .NET serialization in MSDN
magazine which you can probably view on-line at msdn.microsoft.com.

Scott Nichol

----- Original Message -----
From: "Pop Marius" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, June 10, 2002 10:25 AM
Subject: C# client, java server



Hi everybody !
I am going to describe you my problem:

I use Tomcat 4.0.3 application server and I have java classes under a web
application. From these classes I want to call methods via SOAP.
My client is C# from Visual Studio .net.
Lets have an example:

public class X {
    private String prop1;
    private String prop2;
    // I have also defined getter/setter methods below
    .................
}

public class Y {
    public void method1(X obj) {
        ...........
    }

    public Vector method2() {
        .......
        return a Vector by X type objects..
    }
}

Thus, I told to SOAP that I am about to use method1, method2 methods.
But, unfortunetly my client is C# so I have to prepare my method1 call from C#.

Question: How can I manipulate data types between C#, java because there are 2
different languages, with different data types, even if I declare a X class in
C# and I pass it to method1 ,my server will recognize it?

>From client to server we should always to pass primitive types as parameters ?

For method2 which returns a Vector by X objects I found a solution: I read SOAP
envelope (nodes) but it's very hard work to get datas from XML and to put it
somewhere in client objects or variables. Do you have a better idea ?

So, it would be nice if one of you will point me in the right direction,
probably I misunderstood  all and there are other ways to resolve the problem

Thanks in advance !
Pop Marius Lucian


Reply via email to