Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

soapbuilders

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 1852
  • Category: Protocols
  • Founded: Jan 27, 2001
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

Advanced
Messages Help
Messages 18 - 47 of 10831   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#18 From: "Tony Hong" <thong@...>
Date: Thu Feb 1, 2001 8:04 am
Subject: RE: Interoperability lab
thong@...
Send Email Send Email
 
Simon, and for that matter everyone else,
 
If you want temporary (or permanent) place to host services (including test ones), let me know - I have excess T1 bandwidth and VMWare at my disposal....
 
Cheers,
Tony
-----Original Message-----
From: Simon Fell [mailto:soap@...]
Sent: Wednesday, January 31, 2001 9:15 PM
To: soapbuilders@yahoogroups.com
Subject: Re: [soapbuilders] Interoperability lab

Hi,

The basic 4s4c install includes some tests with complex types,
including a shell version of the server end of the address book sample
in Apache SOAP. When we've decided on what the test set looks like i'm
more than happy to put together the 4s4c versions. Peter Drayton who
currently hosts a public reachable 4s4c server is having some major
connectivity problems at the minute, i'm hoping to get another public
server up soon.

Out of the MS toolkits, only the SOAP support in .NET supports complex
types and arrays, both ROPE and the new v2 beta 1 toolkit are limited
to simple types.

Cheers
Simon

On Wed, 31 Jan 2001 16:57:02 -0800, in soap you wrote:

>Hi Sanjiva,
>
>Thanks, I'm glad you find the idea useful!
>
>The yahoo group is listed now - I accidently delisted it from their
>directory, but it's
>visible again. Just search for "soapbuilders" at groups.yahoo.com and you
>should
>see it pop up .
>
>The testbed as I've described has an "echoStruct" and "echoStructArray"
>methods -
>I've built this service already for Apache and SOAP::Lite - for Apache, the
>service uses
>the Bean serializer to map to/from a simple object. See
>
>http://www.xmethods.net/detail.html?id=10 for SOAP::Lite
>and
>http://www.xmethods.net/detail.html?id=11  for Apache
>
>Is this what you are thinking of?
>
>As far as MS or 4s4c, I'm not sure of any other existing services that
>involve
>complex types - Simon, do you know of any?
>
>If you describe the kind of type/structure you'd like to see built as an
>"echo" , I can make sure its part
>of the target test set and start the construction in a variety of
>implementations, including the ones
>you mention.
>
>Cheers,
>Tony
>
>
>  -----Original Message-----
>  From: Sanjiva Weerawarana [mailto:sanjiva@...]
>  Sent: Wednesday, January 31, 2001 9:42 AM
>  To: soapbuilders@yahoogroups.com
>  Subject: Re: [soapbuilders] Interoperability lab
>
>
>
>  Hi Tony,
>
>  I think this is a great idea! Thanks for starting the work!
>
>  Do u know of a service implemented with MS SOAP, 4S4C, ... etc. that uses
>  complex types and is available on the net? I'm trying to test the apache
>  soap interoperabilty using complex types with non-Apache SOAP services and
>  I can't seem to find interesting services to try.
>
>  Also, what's the Yahoo group for this? I can't seem to find the group to
>  change my email address!
>
>  Bye,
>
>  Sanjiva.
>
>  Jacek Kopecky <jacek@...> on 01/31/2001 10:23:07 AM
>
>  Please respond to soapbuilders@yahoogroups.com
>
>  To:   Soapbuilders <soapbuilders@yahoogroups.com>
>  cc:
>  Subject:  Re: [soapbuilders] Interoperability lab
>
>
>
>  I'd add a circular structure:
>
>  LinkedList echoLinkedList(LinkedList linkedList)
>
>  where the definition in Java would be
>
>  public class LinkedList {
>      int x;
>      LinkedList next;
>  }
>
>  which means nullable and referenced next part. Sending a circular list
>  through might also help. 8-)
>
>                              Jacek Kopecky
>                                 Idoox
>
>
>
>  On Wed, 31 Jan 2001, Tony Hong wrote:
>
>  > Hi all
>  >
>  > I've mentioned to a couple of you that I'm going to create
>  > an interoperability testbed. I'd like to get some feedback
>  > from this group.
>  >
>  > For each if a number of different SOAP implemenation, I'm
>  > planning to host a service that exposes these methods
>  >
>  > String echoString(String inputString)
>  > String[] echoStringArrray(String[] inputStringArray)
>  > Integer echoInteger(Integer inputInteger)
>  > Integer[] echoIntegerArray(Integer[] inputIntegerArray)
>  > Float echoFloat(Float inputFloat)
>  > Float[] echoFloatArray(Float[] inputFloatArray)
>  > SOAPStruct echoStruct( SOAPStruct inputStruct)
>  > SOAPStruct[] echoStructArray (SOAPStruct[] inputStructArray)
>  >
>  > Where SOAPStruct is a simple structure with integer, float, and
>  > string fields.
>  >
>  > Other possibilities include:
>  > Hashmap / Associative array , using the encoding proposed by
>  > the Apache folks.
>  > XML Documents
>  >
>  > This "echo" service does nothing really useful except
>  > illustrate the ability of the service to accept a clients
>  > envelope, deserialize the types correctly, and then
>  > reserialize the respones into something that the client
>  > can see if it understands.
>  >
>  > I built this service for Apache 2.0 and SOAP::Lite a few
>  > months ago, and I think Paul Kulchenko will agree that
>  > it's been really useful for testing interop issues.
>  >
>  >
>  > In addition to exposing these services, I also plan to:
>  >
>  > * Publish wiredumps of the request and response envelopes
>  > that each implementation uses - ie, each implementations
>  > client
>  > * For those implementations that dynamically generate
>  > WSDL, I will publish the WSDL generated for each of these
>  > methods.
>  >
>  > I think this is a first step to REALLY filling out those issues
>  > lists for SOAP and WSDL interoperability. It's much easier to
>  > see the issues when all this info is right in front of you.
>  >
>  > My question here is :
>  >
>  > Does this set of types/methods make sense? Would you modify
>  > this list in any way?
>  >
>  > Thanks for any feedback!
>  >
>  > Tony
>  >
>  > ----------------------------------------
>  > XMethods Web Services Listings
>  > http://www.xmethods.net
>  >
>  >
>  > To unsubscribe from this group, send an email to:
>  > soapbuilders-unsubscribe@yahoogroups.com
>  >
>  >
>  >
>
>
>
>  To unsubscribe from this group, send an email to:
>  soapbuilders-unsubscribe@yahoogroups.com
>
>
>
>
>
>
>
>        Yahoo! Groups Sponsor
>
>
>
>  To unsubscribe from this group, send an email to:
>  soapbuilders-unsubscribe@yahoogroups.com
>
>



To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#19 From: Simon Fell <soap@...>
Date: Thu Feb 1, 2001 8:22 am
Subject: Re: Interoperability lab
soap@...
Send Email Send Email
 
I've got an implementation of this running, i'll try and get it on a
public server tomorrow. I'm testing with SOAP::Lite as a client, can
anyone show me how to call the echoStruct method, i'm having trouble
getting the values nested in the inputStruct element (my perl skills
can only get better from this point <g>)

this is what i currently have

my @struct = (
	 SOAP::Data->name(varInt => 42),
	 SOAP::Data->name(varFloat => 42.42),
	 SOAP::Data->name(varString => "SOAP::Lite to 4s4c")
	 ) ;

my @parameters = (
	 SOAP::Data->name(inputStruct => @struct )
	 ) ;

print @{$soap->echoStruct(@parameters)->method}{'outputStruct'} , "\n"
;


For reference here are traces for the call to echoStringArray, one
thing i did notice is that SOAP::Lite types the array as namesp2:Array
whilst i'm typing it as SOAP-ENC:Array.

Cheers
Simon

------------------ SOAP::Lite request ---------------------------
POST /ilab/soap.asp HTTP/1.0
Host: localhost:8080
User-Agent: SOAP::Lite/Perl/0.45
Content-Length: 727
Content-Type: text/xml
SOAPAction: "urn:xmethodsInterop#echoStringArray"

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body>
<namesp2:echoStringArray xmlns:namesp2="urn:xmethodsInterop">
<inputStringArray SOAP-ENC:arrayType="xsd:string[3]"
xsi:type="namesp2:Array">
<c-gensym9 xsi:type="xsd:string">SOAP::Lite</c-gensym9>
<c-gensym9 xsi:type="xsd:string">to</c-gensym9>
<c-gensym9 xsi:type="xsd:string">4s4c</c-gensym9>
</inputStringArray></namesp2:echoStringArray>
</SOAP-ENV:Body></SOAP-ENV:Envelope>


---------------------- 4s4c Response -----------------------------
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 01 Feb 2001 08:09:24 GMT
Connection: Keep-Alive
Content-Length: 681
Content-Type: text/xml
Expires: Thu, 01 Feb 2001 08:09:24 GMT
Set-Cookie: ASPSESSIONIDGGQGQPMO=OOMLALIAMAFPCEFMOJNBNGGN; path=/
Cache-control: private

<?xml version="1.0"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body><m:echoStringArrayResponse
xmlns:m="urn:xmethodsInterop">
<outputStringArray xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[3]">
<item xsi:type="xsd:string">SOAP::Lite</item>
<item xsi:type="xsd:string">to</item>
<item xsi:type="xsd:string">4s4c</item>
</outputStringArray></m:echoStringArrayResponse>
</SOAP-ENV:Body></SOAP-ENV:Envelope>



On Wed, 31 Jan 2001 17:17:32 -0800, in soap you wrote:

>Sanjiva,
>
>One other note -  to illustrate the existing struct array test, here is the
>request/response wiredump. In
>this example, it's a Apache 2.0 client hitting a SOAPLite server (it works
>successfully) . Let me know if
>this is what you're thinking about, or if you need something different.
>Thanks
>
>Tony
>
>----------- Apache Requst -----------------------
>
>POST /perl/soaplite.cgi HTTP/1.0
>Host: tony:8080
>Content-Type: text/xml
>Content- Length: 541
>SOAPAction: "urn:xmethodsInterop#echoStruct"
>
><SOAP-ENV:Envelope
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>xmlns:xsd="http://www.w3.org/1999/XMLSchema">
><SOAP-ENV:Body>
><ns1:echoStruct xmlns:ns1="urn:xmethodsInterop"
>SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
><echo xsi:type="ns1:SOAPStruct">
><varInt xsi:type="xsd:int">3</varInt>
><varFloat xsi:type="xsd:float">1.2</varFloat>
><varString xsi:type="xsd:string">Hello</varString>
></echo>
></ns1:echoStruct>
></SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>------------- SOAPLite response --------------------------
>
>HTTP/1.1 200 OK
>Content- Length: 672
>Content-Type: text/xml
>glue-routing: true
>date: Thu, 01 Feb 2001 01:11:21 GMT
>server: Apache/1.3.14 (Unix) PHP/4.0.1pl2
>soapserver: SOAP::Lite/Perl/0.45
>
><?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
>xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/1999/XMLSchema">
><SOAP-ENV:Body>
><namesp1:echoStructResponse xmlns:namesp1="urn:xmethodsInterop">
><SOAPStruct xsi:type="namesp1:SOAPStruct">
><varFloat xsi:type="xsd:float">1.2</varFloat>
><varString xsi:type="xsd:string">Hello</varString>
><varInt xsi:type="xsd:int">3</varInt>
></SOAPStruct>
></namesp1:echoStructResponse>
></SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>-----Original Message-----
>From: Tony Hong [mailto:thong@...]
>Sent: Wednesday, January 31, 2001 4:57 PM
>To: soapbuilders@yahoogroups.com
>Subject: RE: [soapbuilders] Interoperability lab
>
>
>  Hi Sanjiva,
>
>  Thanks, I'm glad you find the idea useful!
>
>  The yahoo group is listed now - I accidently delisted it from their
>directory, but it's
>  visible again. Just search for "soapbuilders" at groups.yahoo.com and you
>should
>  see it pop up .
>
>  The testbed as I've described has an "echoStruct" and "echoStructArray"
>methods -
>  I've built this service already for Apache and SOAP::Lite - for Apache,
>the service uses
>  the Bean serializer to map to/from a simple object. See
>
>  http://www.xmethods.net/detail.html?id=10 for SOAP::Lite
>  and
>  http://www.xmethods.net/detail.html?id=11  for Apache
>
>  Is this what you are thinking of?
>
>  As far as MS or 4s4c, I'm not sure of any other existing services that
>involve
>  complex types - Simon, do you know of any?
>
>  If you describe the kind of type/structure you'd like to see built as an
>"echo" , I can make sure its part
>  of the target test set and start the construction in a variety of
>implementations, including the ones
>  you mention.
>
>  Cheers,
>  Tony
>
>
>    -----Original Message-----
>    From: Sanjiva Weerawarana [mailto:sanjiva@...]
>    Sent: Wednesday, January 31, 2001 9:42 AM
>    To: soapbuilders@yahoogroups.com
>    Subject: Re: [soapbuilders] Interoperability lab
>
>
>
>    Hi Tony,
>
>    I think this is a great idea! Thanks for starting the work!
>
>    Do u know of a service implemented with MS SOAP, 4S4C, ... etc. that
>uses
>    complex types and is available on the net? I'm trying to test the apache
>    soap interoperabilty using complex types with non-Apache SOAP services
>and
>    I can't seem to find interesting services to try.
>
>    Also, what's the Yahoo group for this? I can't seem to find the group to
>    change my email address!
>
>    Bye,
>
>    Sanjiva.
>
>    Jacek Kopecky <jacek@...> on 01/31/2001 10:23:07 AM
>
>    Please respond to soapbuilders@yahoogroups.com
>
>    To:   Soapbuilders <soapbuilders@yahoogroups.com>
>    cc:
>    Subject:  Re: [soapbuilders] Interoperability lab
>
>
>
>    I'd add a circular structure:
>
>    LinkedList echoLinkedList(LinkedList linkedList)
>
>    where the definition in Java would be
>
>    public class LinkedList {
>        int x;
>        LinkedList next;
>    }
>
>    which means nullable and referenced next part. Sending a circular list
>    through might also help. 8-)
>
>                                Jacek Kopecky
>                                   Idoox
>
>
>
>    On Wed, 31 Jan 2001, Tony Hong wrote:
>
>    > Hi all
>    >
>    > I've mentioned to a couple of you that I'm going to create
>    > an interoperability testbed. I'd like to get some feedback
>    > from this group.
>    >
>    > For each if a number of different SOAP implemenation, I'm
>    > planning to host a service that exposes these methods
>    >
>    > String echoString(String inputString)
>    > String[] echoStringArrray(String[] inputStringArray)
>    > Integer echoInteger(Integer inputInteger)
>    > Integer[] echoIntegerArray(Integer[] inputIntegerArray)
>    > Float echoFloat(Float inputFloat)
>    > Float[] echoFloatArray(Float[] inputFloatArray)
>    > SOAPStruct echoStruct( SOAPStruct inputStruct)
>    > SOAPStruct[] echoStructArray (SOAPStruct[] inputStructArray)
>    >
>    > Where SOAPStruct is a simple structure with integer, float, and
>    > string fields.
>    >
>    > Other possibilities include:
>    > Hashmap / Associative array , using the encoding proposed by
>    > the Apache folks.
>    > XML Documents
>    >
>    > This "echo" service does nothing really useful except
>    > illustrate the ability of the service to accept a clients
>    > envelope, deserialize the types correctly, and then
>    > reserialize the respones into something that the client
>    > can see if it understands.
>    >
>    > I built this service for Apache 2.0 and SOAP::Lite a few
>    > months ago, and I think Paul Kulchenko will agree that
>    > it's been really useful for testing interop issues.
>    >
>    >
>    > In addition to exposing these services, I also plan to:
>    >
>    > * Publish wiredumps of the request and response envelopes
>    > that each implementation uses - ie, each implementations
>    > client
>    > * For those implementations that dynamically generate
>    > WSDL, I will publish the WSDL generated for each of these
>    > methods.
>    >
>    > I think this is a first step to REALLY filling out those issues
>    > lists for SOAP and WSDL interoperability. It's much easier to
>    > see the issues when all this info is right in front of you.
>    >
>    > My question here is :
>    >
>    > Does this set of types/methods make sense? Would you modify
>    > this list in any way?
>    >
>    > Thanks for any feedback!
>    >
>    > Tony

#20 From: "Tony Hong" <thong@...>
Date: Thu Feb 1, 2001 8:34 am
Subject: RE: Interoperability lab
thong@...
Send Email Send Email
 
Simon, here's a snippet of SOAP::Lite that calls the echoStruct service. Paul, please don't beat me up if the Perl isn't pretty! :-)
 
---------------------------------------------------------------------------------------------
 
#!/usr/bin/perl
 
use SOAP::Lite;
 
SOAP::Data->import('name');
 
my %hash = (
        varInt => 5,
        varString => "test string",
        varFloat => 6.2
);
 
$h=SOAP::Lite
  -> uri ('urn:xmethodsInterop')
  -> proxy('http://services.xmethods.com:80/soap/servlet/rpcrouter')
  -> echoStruct(name("testStruct" => \%hash))
;
 
if($h->faultcode)
{print "FAULT CODE --------------------\n";
print $h->faultcode. "\n\n";
print "FAULT DETAIL--------------------\n";
print $h->faultstring. "\n";
}
else
{
print "RESULT --------------------\n";
foreach $k (keys %{$h->result})
{
print $k."\t".$h->result->{$k}."\n";
}
}
------------------------------------------------------------------------
 
It generates the following envelope:
 
POST /soap/servlet/rpcrouter HTTP/1.0
Host: tony:8080
User-Agent: SOAP::Lite/Perl/0.45
Content-Length: 662
Content-Type: text/xml
SOAPAction: "urn:xmethodsInterop#echoStruct"
 
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<namesp1:echoStruct xmlns:namesp1="urn:xmethodsInterop">
<testStruct xsi:type="namesp1:SOAPStruct">
<varFloat xsi:type="xsd:float">6.2</varFloat>
<varString xsi:type="xsd:string">test string</varString>
<varInt xsi:type="xsd:int">5</varInt></testStruct>
</namesp1:echoStruct>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
 
---------------------------------------------------
 
And when you run it, here's the output bounced off the Apache version echoStruct method:
 
RESULT --------------------
varFloat        6.2
varString       test string
varInt  5
 
 
One thing to note: in versions prior to 0.46, the namespace of the generated structure is the same as the method namespace URI (in this case, urn:xmethodsInterop) . I believe in 0.46, this is now configurable. I'll let Paul comment on that .
 
Cheers,
Tony
-----Original Message-----
From: Simon Fell [mailto:soap@...]
Sent: Thursday, February 01, 2001 12:23 AM
To: soapbuilders@yahoogroups.com
Subject: Re: [soapbuilders] Interoperability lab

I've got an implementation of this running, i'll try and get it on a
public server tomorrow. I'm testing with SOAP::Lite as a client, can
anyone show me how to call the echoStruct method, i'm having trouble
getting the values nested in the inputStruct element (my perl skills
can only get better from this point <g>)

this is what i currently have

my @struct = (
      SOAP::Data->name(varInt => 42),
      SOAP::Data->name(varFloat => 42.42),
      SOAP::Data->name(varString => "SOAP::Lite to 4s4c")
      ) ;

my @parameters = (
      SOAP::Data->name(inputStruct => @struct )
      ) ;
     
print @{$soap->echoStruct(@parameters)->method}{'outputStruct'} , "\n"
;


For reference here are traces for the call to echoStringArray, one
thing i did notice is that SOAP::Lite types the array as namesp2:Array
whilst i'm typing it as SOAP-ENC:Array.

Cheers
Simon

------------------ SOAP::Lite request ---------------------------
POST /ilab/soap.asp HTTP/1.0
Host: localhost:8080
User-Agent: SOAP::Lite/Perl/0.45
Content-Type: text/xml
SOAPAction: "urn:xmethodsInterop#echoStringArray"

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body>
<namesp2:echoStringArray xmlns:namesp2="urn:xmethodsInterop">
<inputStringArray SOAP-ENC:arrayType="xsd:string[3]"
xsi:type="namesp2:Array">
<c-gensym9 xsi:type="xsd:string">SOAP::Lite</c-gensym9>
<c-gensym9 xsi:type="xsd:string">to</c-gensym9>
<c-gensym9 xsi:type="xsd:string">4s4c</c-gensym9>
</inputStringArray></namesp2:echoStringArray>
</SOAP-ENV:Body></SOAP-ENV:Envelope>


---------------------- 4s4c Response -----------------------------
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 01 Feb 2001 08:09:24 GMT
Connection: Keep-Alive
Content-Type: text/xml
Expires: Thu, 01 Feb 2001 08:09:24 GMT
Set-Cookie: ASPSESSIONIDGGQGQPMO=OOMLALIAMAFPCEFMOJNBNGGN; path=/
Cache-control: private

<?xml version="1.0"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body><m:echoStringArrayResponse
xmlns:m="urn:xmethodsInterop">
<outputStringArray xsi:type="SOAP-ENC:Array"
SOAP-ENC:arrayType="xsd:string[3]">
<item xsi:type="xsd:string">SOAP::Lite</item>
<item xsi:type="xsd:string">to</item>
<item xsi:type="xsd:string">4s4c</item>
</outputStringArray></m:echoStringArrayResponse>
</SOAP-ENV:Body></SOAP-ENV:Envelope>



On Wed, 31 Jan 2001 17:17:32 -0800, in soap you wrote:

>Sanjiva,
>
>One other note -  to illustrate the existing struct array test, here is the
>request/response wiredump. In
>this example, it's a Apache 2.0 client hitting a SOAPLite server (it works
>successfully) . Let me know if
>this is what you're thinking about, or if you need something different.
>Thanks
>
>Tony
>
>----------- Apache Requst -----------------------
>
>POST /perl/soaplite.cgi HTTP/1.0
>Host: tony:8080
>Content-Type: text/xml
>Content- Length: 541
>SOAPAction: "urn:xmethodsInterop#echoStruct"
>
><SOAP-ENV:Envelope
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>xmlns:xsd="http://www.w3.org/1999/XMLSchema">
><SOAP-ENV:Body>
><ns1:echoStruct xmlns:ns1="urn:xmethodsInterop"
>SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
><echo xsi:type="ns1:SOAPStruct">
><varInt xsi:type="xsd:int">3</varInt>
><varFloat xsi:type="xsd:float">1.2</varFloat>
><varString xsi:type="xsd:string">Hello</varString>
></echo>
></ns1:echoStruct>
></SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>------------- SOAPLite response --------------------------
>
>HTTP/1.1 200 OK
>Content- Length: 672
>Content-Type: text/xml
>glue-routing: true
>date: Thu, 01 Feb 2001 01:11:21 GMT
>server: Apache/1.3.14 (Unix) PHP/4.0.1pl2
>soapserver: SOAP::Lite/Perl/0.45
>
><?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
>xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/1999/XMLSchema">
><SOAP-ENV:Body>
><namesp1:echoStructResponse xmlns:namesp1="urn:xmethodsInterop">
><SOAPStruct xsi:type="namesp1:SOAPStruct">
><varFloat xsi:type="xsd:float">1.2</varFloat>
><varString xsi:type="xsd:string">Hello</varString>
><varInt xsi:type="xsd:int">3</varInt>
></SOAPStruct>
></namesp1:echoStructResponse>
></SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>-----Original Message-----
>From: Tony Hong [mailto:thong@...]
>Sent: Wednesday, January 31, 2001 4:57 PM
>To: soapbuilders@yahoogroups.com
>Subject: RE: [soapbuilders] Interoperability lab
>
>
>  Hi Sanjiva,
>
>  Thanks, I'm glad you find the idea useful!
>
>  The yahoo group is listed now - I accidently delisted it from their
>directory, but it's
>  visible again. Just search for "soapbuilders" at groups.yahoo.com and you
>should
>  see it pop up .
>
>  The testbed as I've described has an "echoStruct" and "echoStructArray"
>methods -
>  I've built this service already for Apache and SOAP::Lite - for Apache,
>the service uses
>  the Bean serializer to map to/from a simple object. See
>
http://www.xmethods.net/detail.html?id=10 for SOAP::Lite
>  and
http://www.xmethods.net/detail.html?id=11  for Apache
>
>  Is this what you are thinking of?
>
>  As far as MS or 4s4c, I'm not sure of any other existing services that
>involve
>  complex types - Simon, do you know of any?
>
>  If you describe the kind of type/structure you'd like to see built as an
>"echo" , I can make sure its part
>  of the target test set and start the construction in a variety of
>implementations, including the ones
>  you mention.
>
>  Cheers,
>  Tony
>
>
>    -----Original Message-----
>    From: Sanjiva Weerawarana [mailto:sanjiva@...]
>    Sent: Wednesday, January 31, 2001 9:42 AM
>    To: soapbuilders@yahoogroups.com
>    Subject: Re: [soapbuilders] Interoperability lab
>
>
>
>    Hi Tony,
>
>    I think this is a great idea! Thanks for starting the work!
>
>    Do u know of a service implemented with MS SOAP, 4S4C, ... etc. that
>uses
>    complex types and is available on the net? I'm trying to test the apache
>    soap interoperabilty using complex types with non-Apache SOAP services
>and
>    I can't seem to find interesting services to try.
>
>    Also, what's the Yahoo group for this? I can't seem to find the group to
>    change my email address!
>
>    Bye,
>
>    Sanjiva.
>
>    Jacek Kopecky <jacek@...> on 01/31/2001 10:23:07 AM
>
>    Please respond to soapbuilders@yahoogroups.com
>
>    To:   Soapbuilders <soapbuilders@yahoogroups.com>
>    cc:
>    Subject:  Re: [soapbuilders] Interoperability lab
>
>
>
>    I'd add a circular structure:
>
>    LinkedList echoLinkedList(LinkedList linkedList)
>
>    where the definition in Java would be
>
>    public class LinkedList {
>        int x;
>        LinkedList next;
>    }
>
>    which means nullable and referenced next part. Sending a circular list
>    through might also help. 8-)
>
>                                Jacek Kopecky
>                                   Idoox
>
>
>
>    On Wed, 31 Jan 2001, Tony Hong wrote:
>
>    > Hi all
>    >
>    > I've mentioned to a couple of you that I'm going to create
>    > an interoperability testbed. I'd like to get some feedback
>    > from this group.
>    >
>    > For each if a number of different SOAP implemenation, I'm
>    > planning to host a service that exposes these methods
>    >
>    > String echoString(String inputString)
>    > String[] echoStringArrray(String[] inputStringArray)
>    > Integer echoInteger(Integer inputInteger)
>    > Integer[] echoIntegerArray(Integer[] inputIntegerArray)
>    > Float echoFloat(Float inputFloat)
>    > Float[] echoFloatArray(Float[] inputFloatArray)
>    > SOAPStruct echoStruct( SOAPStruct inputStruct)
>    > SOAPStruct[] echoStructArray (SOAPStruct[] inputStructArray)
>    >
>    > Where SOAPStruct is a simple structure with integer, float, and
>    > string fields.
>    >
>    > Other possibilities include:
>    > Hashmap / Associative array , using the encoding proposed by
>    > the Apache folks.
>    > XML Documents
>    >
>    > This "echo" service does nothing really useful except
>    > illustrate the ability of the service to accept a clients
>    > envelope, deserialize the types correctly, and then
>    > reserialize the respones into something that the client
>    > can see if it understands.
>    >
>    > I built this service for Apache 2.0 and SOAP::Lite a few
>    > months ago, and I think Paul Kulchenko will agree that
>    > it's been really useful for testing interop issues.
>    >
>    >
>    > In addition to exposing these services, I also plan to:
>    >
>    > * Publish wiredumps of the request and response envelopes
>    > that each implementation uses - ie, each implementations
>    > client
>    > * For those implementations that dynamically generate
>    > WSDL, I will publish the WSDL generated for each of these
>    > methods.
>    >
>    > I think this is a first step to REALLY filling out those issues
>    > lists for SOAP and WSDL interoperability. It's much easier to
>    > see the issues when all this info is right in front of you.
>    >
>    > My question here is :
>    >
>    > Does this set of types/methods make sense? Would you modify
>    > this list in any way?
>    >
>    > Thanks for any feedback!
>    >
>    > Tony



To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#21 From: "Tony Hong" <thong@...>
Date: Thu Feb 1, 2001 10:34 am
Subject: RE: WSDL and method names
thong@...
Send Email Send Email
 
Hi Jacek, Thanks for the example!
 
A couple of questions:
 
1.  In your soap:body element, you don't have use="encoded" or encoding style attribute. Are these implied or defaulted?
 
2.  The way you encoded your array "ArrayofInt" touches on a thread that Simon posted in the forum here: http://www.xmethods.net/ubb/Forum1/HTML/000004.html
 
The basic question is: can you use <all> for an array, rather than <sequence> ? the elements in <all> have a maxoccurs=1, thus it may be inappropriate for an array. or is there a misinterpreation somewhere?.
 
It would be great to see the envelopes - I'm curious as to how your Simple types are rendered on the wire .
 
Thanks!
 
Tony 
 
 
-----Original Message-----
From: Jacek Kopecky [mailto:jacek@...]
Sent: Wednesday, January 31, 2001 7:19 AM
To: soapbuilders@yahoogroups.com
Subject: Re: [soapbuilders] WSDL and method names

> > On a slightly different note, while i was working on the WSDL
> > generator for 4s4c, i tried various WSDL toolkits, and in
> > particular i
> > tried doing some array / complex type inter-op, and i couldn't get
> > of them to work cross-tool for arrays or complex types.
> Right, there (at least in SOAP::Lite) is no support for arrays and
> complex types. I don't want to implements it before I'll have clear
> understanding how to map it to user input.

When we were implementing our WSDL parser for our stub-generating
tools, we decided to go with some subset of XML Scheme that seemed to
describe the complex types the best.

> > I'd like to propose that we workup some well documented examples of
> > what WSDL should look like, and try and resolve some of the
> > outstanding issues that Tony Hong has already raised (which part of
> > WSDL controls the method names / responses, one way vs empty
> > response etc )
> It would be great! Who will take the lead? Author? :))

Attached is our demo WSDL description where we use both structures
and arrays. Comments welcome. 8-)

This WSDL description is parsable with version 1.0 of IdooXoap and
describes a (very demo-ish) service at our server soap.idoox.net. I
can post example requests sent by stubs generated from this WSDL so
that you know how we interpret the WSDL description.

I already know about one thing that we fixed after 1.0 that is
probably a problem with our understanding of WSDL, it's the body
element's namespace that isn't being put there in 1.0.

I think this might be a good starting point for creating that
well-documented example WSDL.

Enjoy! 8-)

                            Jacek Kopecky
                               Idoox


To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#22 From: "Sanjiva Weerawarana" <sanjiva@...>
Date: Thu Feb 1, 2001 12:12 pm
Subject: RE: Interoperability lab
sanjiva@...
Send Email Send Email
 
Hi Tony,

What I'm actually looking for is a service that doesn't put in the xsi:type
stuff and relies on WSDL/SDL/whatever to get the knowledge of the types of
parameters of a call. We recently put in support in Apache SOAP to handle
that and I haven't been able to find any complex type tests. I wrote a
simpel test to talk to your guidgen server (written in MS SOAP I believe)
and it works fine.

Sanjiva.

"Tony Hong" <thong@...> on 01/31/2001 08:17:32 PM

Please respond to soapbuilders@yahoogroups.com

To:   <soapbuilders@yahoogroups.com>
cc:
Subject:  RE: [soapbuilders] Interoperability lab




Sanjiva,

One  other note -  to illustrate the existing struct array test, here is
the  request/response wiredump. In
this  example, it's a Apache 2.0 client hitting a SOAPLite server (it works
successfully) . Let me know if
this  is what you're thinking about, or if you need something different.
Thanks

Tony

----------- Apache Requst  -----------------------

POST  /perl/soaplite.cgi HTTP/1.0
Host: tony:8080
Content-Type:  text/xml
Content- Length: 541
SOAPAction:  "urn:xmethodsInterop#echoStruct"

<SOAP-ENV:Envelope  xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsi="
http://www.w3.org/1999/XMLSchema-instance"  xmlns:xsd="
http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:echoStruct  xmlns:ns1="urn:xmethodsInterop"  SOAP-ENV:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/">
<echo  xsi:type="ns1:SOAPStruct">
<varInt  xsi:type="xsd:int">3</varInt>
<varFloat  xsi:type="xsd:float">1.2</varFloat>
<varString  xsi:type="xsd:string">Hello</varString>
</echo>
</ns1:echoStruct>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

------------- SOAPLite  response --------------------------

HTTP/1.1 200 OK
Content- Length:  672
Content-Type: text/xml
glue-routing: true
date: Thu, 01 Feb 2001  01:11:21 GMT
server: Apache/1.3.14 (Unix) PHP/4.0.1pl2
soapserver:  SOAP::Lite/Perl/0.45

<?xml version="1.0"  encoding="UTF-8"?><SOAP-ENV:Envelope  xmlns:SOAP-ENC="
http://schemas.xmlsoap.org/soap/encoding/"  SOAP-ENV:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"  xmlns:xsi="
http://www.w3.org/1999/XMLSchema-instance"  xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="
http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<namesp1:echoStructResponse  xmlns:namesp1="urn:xmethodsInterop">
<SOAPStruct  xsi:type="namesp1:SOAPStruct">
<varFloat  xsi:type="xsd:float">1.2</varFloat>
<varString  xsi:type="xsd:string">Hello</varString>
<varInt  xsi:type="xsd:int">3</varInt>
</SOAPStruct>
</namesp1:echoStructResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

-----Original Message-----
From: Tony  Hong [mailto:thong@...]
Sent: Wednesday, January 31, 2001  4:57 PM
To: soapbuilders@yahoogroups.com
Subject: RE:  [soapbuilders] Interoperability lab


Hi  Sanjiva,

Thanks, I'm glad you find the idea  useful!

The  yahoo group is listed now - I accidently delisted it from their
directory, but  it's
visible again. Just search for"soapbuilders"  at groups.yahoo.com and you
should
see  it pop up .

The  testbed as I'vedescribed has an "echoStruct" and "echoStructArray"
methods -
I've built this service already for  Apache and SOAP::Lite - for Apache,
the service uses
the  Bean serializer to map to/from a simple object. See

http://www.xmethods.net/detail.html?id=10  for SOAP::Lite
and
http://www.xmethods.net/detail.html?id=11   for Apache

Is  this what you are thinking of?

As  far as MS or 4s4c, I'm not sure of any other existing services that
involve
complex types - Simon, do you know of  any?

If  you describe the kind of type/structure you'd like to see built as an
"echo"  , I can make sure its part
of  the target test set and start the construction in a variety of
implementations, including the ones
you  mention.

Cheers,
Tony


-----Original Message-----
From: Sanjiva Weerawarana  [mailto:sanjiva@...]
Sent: Wednesday, January 31, 2001 9:42  AM
To: soapbuilders@yahoogroups.com
Subject: Re:  [soapbuilders] Interoperability lab


Hi  Tony,

I think this is a great idea! Thanks for starting the  work!

Do u know of a service implemented with MS SOAP, 4S4C, ... etc.  that uses
complex types and is available on the net? I'm trying to test  the apache
soap interoperabilty using complex types with non-Apache SOAP  services and
I can't seem to find interesting services to  try.

Also, what's the Yahoo group for this? I can't seem to find the  group to
change my email  address!

Bye,

Sanjiva.

Jacek Kopecky  <jacek@...> on 01/31/2001 10:23:07 AM

Please respond to  soapbuilders@yahoogroups.com

To:   Soapbuilders  <soapbuilders@yahoogroups.com>
cc:
Subject:  Re:  [soapbuilders] Interoperability lab



I'd add a circular  structure:

LinkedList echoLinkedList(LinkedList  linkedList)

where the definition in Java would be

public class  LinkedList {
    int x;
    LinkedList  next;
}

which means nullable and referenced next part. Sending a  circular list
through might also help.  8-)

                             Jacek  Kopecky
                                Idoox



On Wed, 31 Jan 2001, Tony Hong wrote:

> Hi  all
>
> I've mentioned to a couple of you that I'm going to  create
> an interoperability testbed. I'd like to get some  feedback
> from this group.
>
> For each if a number of  different SOAP implemenation, I'm
> planning to host a service that  exposes these methods
>
> String echoString(String  inputString)
> String[] echoStringArrray(String[]  inputStringArray)
> Integer echoInteger(Integer inputInteger)
>  Integer[] echoIntegerArray(Integer[] inputIntegerArray)
> Float  echoFloat(Float inputFloat)
> Float[] echoFloatArray(Float[]  inputFloatArray)
> SOAPStruct echoStruct( SOAPStruct  inputStruct)
> SOAPStruct[] echoStructArray (SOAPStruct[]  inputStructArray)
>
> Where SOAPStruct is a simple structure  with integer, float, and
> string fields.
>
> Other  possibilities include:
> Hashmap / Associative array , using the  encoding proposed by
> the Apache folks.
> XML  Documents
>
> This "echo" service does nothing really useful  except
> illustrate the ability of the service to accept a  clients
> envelope, deserialize the types correctly, and then
>  reserialize the respones into something that the client
> can see if  it understands.
>
> I built this service for Apache 2.0 and  SOAP::Lite a few
> months ago, and I think Paul Kulchenko will agree  that
> it's been really useful for testing interop  issues.
>
>
> In addition to exposing these services, I  also plan to:
>
> * Publish wiredumps of the request and  response envelopes
> that each implementation uses - ie, each  implementations
> client
> * For those implementations that  dynamically generate
> WSDL, I will publish the WSDL generated for  each of these
> methods.
>
> I think this is a first step  to REALLY filling out those issues
> lists for SOAP and WSDL  interoperability. It's much easier to
> see the issues when all this  info is right in front of you.
>
> My question here is
>
> Does this set of types/methods make sense? Would you  modify
> this list in any way?
>
> Thanks for any  feedback!
>
> Tony
>
>  ----------------------------------------
> XMethods Web Services  Listings
> http://www.xmethods.net
>
>
>  To unsubscribe from this group, send an email to:
>  soapbuilders-unsubscribe@yahoogroups.com
>
>
>



To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com








To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com




To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com




                                 Yahoo! Groups Sponsor




                                                         [IMAGE]
                [IMAGE]


                                                           !
                                   www. .com



           [IMAGE]



  To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com

#23 From: "Sanjiva Weerawarana" <sanjiva@...>
Date: Thu Feb 1, 2001 7:42 pm
Subject: another list for WSDL discussions?
sanjiva@...
Send Email Send Email
 
There are WSDL discussions going on in various lists. IMO its time
to create a WSDL discussion list. What do u think? I'd like to
separate it from SOAP because while WSDL is useful in the SOAP
context, its actually quite independent from SOAP too.

If there's consensus, can someone please volunteer to do it? We could
do another Yahoo! group thing or whatever.

Thanks,

Sanjiva.

#24 From: "Tony Hong" <thong@...>
Date: Thu Feb 1, 2001 8:33 pm
Subject: RE: another list for WSDL discussions?
thong@...
Send Email Send Email
 
Hi Sanjiva,

Per your suggestion I've started a WSDL discussion group on yahoo groups -
here's the
reachability info:

Post message: wsdl@yahoogroups.com
Subscribe:  wsdl-subscribe@yahoogroups.com
Unsubscribe:  wsdl-unsubscribe@yahoogroups.com
List owner:  wsdl-owner@yahoogroups.com
URL: http://groups.yahoo.com/group/wsdl

Cheers,
Tony

> -----Original Message-----
> From: Sanjiva Weerawarana [mailto:sanjiva@...]
> Sent: Thursday, February 01, 2001 11:43 AM
> To: soapbuilders@yahoogroups.com; Apache SOAP; soap@...
> Cc: Paco Curbera; erikc@...
> Subject: another list for WSDL discussions?
>
>
> There are WSDL discussions going on in various lists. IMO its time
> to create a WSDL discussion list. What do u think? I'd like to
> separate it from SOAP because while WSDL is useful in the SOAP
> context, its actually quite independent from SOAP too.
>
> If there's consensus, can someone please volunteer to do it? We could
> do another Yahoo! group thing or whatever.
>
> Thanks,
>
> Sanjiva.
>
>
>

#25 From: "Tony Hong" <thong@...>
Date: Thu Feb 1, 2001 9:09 pm
Subject: RE: Interoperability lab
thong@...
Send Email Send Email
 
Hi Sanjiva,
 
OK, gotcha. Per Simon's previous note, MS Toolkit is limited to simple types. I'll look around for an alternative
example, and if I can't find one, I try and set one up with .NET B1 or something like that.
 
Cheers,
Tony
 
 -----Original Message-----
From: Sanjiva Weerawarana [mailto:sanjiva@...]
Sent: Thursday, February 01, 2001 4:12 AM
To: soapbuilders@yahoogroups.com
Subject: RE: [soapbuilders] Interoperability lab


Hi Tony,

What I'm actually looking for is a service that doesn't put in the xsi:type
stuff and relies on WSDL/SDL/whatever to get the knowledge of the types of
parameters of a call. We recently put in support in Apache SOAP to handle
that and I haven't been able to find any complex type tests. I wrote a
simpel test to talk to your guidgen server (written in MS SOAP I believe)
and it works fine.

Sanjiva.

"Tony Hong" <thong@...> on 01/31/2001 08:17:32 PM

Please respond to soapbuilders@yahoogroups.com

To:   <soapbuilders@yahoogroups.com>
cc:
Subject:  RE: [soapbuilders] Interoperability lab




Sanjiva,

One  other note -  to illustrate the existing struct array test, here is
the  request/response wiredump. In
this  example, it's a Apache 2.0 client hitting a SOAPLite server (it works
successfully) . Let me know if
this  is what you're thinking about, or if you need something different.
Thanks

Tony

----------- Apache Requst  -----------------------

POST  /perl/soaplite.cgi HTTP/1.0
Host: tony:8080
Content-Type:  text/xml
Content- Length: 541
SOAPAction:  "urn:xmethodsInterop#echoStruct"

<SOAP-ENV:Envelope  xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsi="
http://www.w3.org/1999/XMLSchema-instance"  xmlns:xsd="
http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:echoStruct  xmlns:ns1="urn:xmethodsInterop"  SOAP-ENV:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/">
<echo  xsi:type="ns1:SOAPStruct">
<varInt  xsi:type="xsd:int">3</varInt>
<varFloat  xsi:type="xsd:float">1.2</varFloat>
<varString  xsi:type="xsd:string">Hello</varString>
</echo>
</ns1:echoStruct>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

------------- SOAPLite  response --------------------------

HTTP/1.1 200 OK
Content- Length:  672
Content-Type: text/xml
glue-routing: true
date: Thu, 01 Feb 2001  01:11:21 GMT
server: Apache/1.3.14 (Unix) PHP/4.0.1pl2
soapserver:  SOAP::Lite/Perl/0.45

<?xml version="1.0"  encoding="UTF-8"?><SOAP-ENV:Envelope  xmlns:SOAP-ENC="
http://schemas.xmlsoap.org/soap/encoding/"  SOAP-ENV:encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/"  xmlns:xsi="
http://www.w3.org/1999/XMLSchema-instance"  xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"  xmlns:xsd="
http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<namesp1:echoStructResponse  xmlns:namesp1="urn:xmethodsInterop">
<SOAPStruct  xsi:type="namesp1:SOAPStruct">
<varFloat  xsi:type="xsd:float">1.2</varFloat>
<varString  xsi:type="xsd:string">Hello</varString>
<varInt  xsi:type="xsd:int">3</varInt>
</SOAPStruct>
</namesp1:echoStructResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

-----Original Message-----
From: Tony  Hong [mailto:thong@...]
Sent: Wednesday, January 31, 2001  4:57 PM
To: soapbuilders@yahoogroups.com
Subject: RE:  [soapbuilders] Interoperability lab


Hi  Sanjiva,

Thanks, I'm glad you find the idea  useful!

The  yahoo group is listed now - I accidently delisted it from their
directory, but  it's
visible again. Just search for"soapbuilders"  at groups.yahoo.com and you
should
see  it pop up .

The  testbed as I'vedescribed has an "echoStruct" and "echoStructArray"
methods -
I've built this service already for  Apache and SOAP::Lite - for Apache,
the service uses
the  Bean serializer to map to/from a simple object. See

http://www.xmethods.net/detail.html?id=10  for SOAP::Lite
and
http://www.xmethods.net/detail.html?id=11   for Apache

Is  this what you are thinking of?

As  far as MS or 4s4c, I'm not sure of any other existing services that
involve
complex types - Simon, do you know of  any?

If  you describe the kind of type/structure you'd like to see built as an
"echo"  , I can make sure its part
of  the target test set and start the construction in a variety of
implementations, including the ones
you  mention.

Cheers,
Tony


-----Original Message-----
From: Sanjiva Weerawarana  [mailto:sanjiva@...]
Sent: Wednesday, January 31, 2001 9:42  AM
To: soapbuilders@yahoogroups.com
Subject: Re:  [soapbuilders] Interoperability lab


Hi  Tony,

I think this is a great idea! Thanks for starting the  work!

Do u know of a service implemented with MS SOAP, 4S4C, ... etc.  that uses
complex types and is available on the net? I'm trying to test  the apache
soap interoperabilty using complex types with non-Apache SOAP  services and
I can't seem to find interesting services to  try.

Also, what's the Yahoo group for this? I can't seem to find the  group to
change my email  address!

Bye,

Sanjiva.

Jacek Kopecky  <jacek@...> on 01/31/2001 10:23:07 AM

Please respond to  soapbuilders@yahoogroups.com

To:   Soapbuilders  <soapbuilders@yahoogroups.com>
cc:
Subject:  Re:  [soapbuilders] Interoperability lab



I'd add a circular  structure:

LinkedList echoLinkedList(LinkedList  linkedList)

where the definition in Java would be

public class  LinkedList {
    int x;
    LinkedList  next;
}

which means nullable and referenced next part. Sending a  circular list
through might also help.  8-)

                             Jacek  Kopecky
                                Idoox



On Wed, 31 Jan 2001, Tony Hong wrote:

> Hi  all
>
> I've mentioned to a couple of you that I'm going to  create
> an interoperability testbed. I'd like to get some  feedback
> from this group.
>
> For each if a number of  different SOAP implemenation, I'm
> planning to host a service that  exposes these methods
>
> String echoString(String  inputString)
> String[] echoStringArrray(String[]  inputStringArray)
> Integer echoInteger(Integer inputInteger)
>  Integer[] echoIntegerArray(Integer[] inputIntegerArray)
> Float  echoFloat(Float inputFloat)
> Float[] echoFloatArray(Float[]  inputFloatArray)
> SOAPStruct echoStruct( SOAPStruct  inputStruct)
> SOAPStruct[] echoStructArray (SOAPStruct[]  inputStructArray)
>
> Where SOAPStruct is a simple structure  with integer, float, and
> string fields.
>
> Other  possibilities include:
> Hashmap / Associative array , using the  encoding proposed by
> the Apache folks.
> XML  Documents
>
> This "echo" service does nothing really useful  except
> illustrate the ability of the service to accept a  clients
> envelope, deserialize the types correctly, and then
>  reserialize the respones into something that the client
> can see if  it understands.
>
> I built this service for Apache 2.0 and  SOAP::Lite a few
> months ago, and I think Paul Kulchenko will agree  that
> it's been really useful for testing interop  issues.
>
>
> In addition to exposing these services, I  also plan to:
>
> * Publish wiredumps of the request and  response envelopes
> that each implementation uses - ie, each  implementations
> client
> * For those implementations that  dynamically generate
> WSDL, I will publish the WSDL generated for  each of these
> methods.
>
> I think this is a first step  to REALLY filling out those issues
> lists for SOAP and WSDL  interoperability. It's much easier to
> see the issues when all this  info is right in front of you.
>
> My question here is
>
> Does this set of types/methods make sense? Would you  modify
> this list in any way?
>
> Thanks for any  feedback!
>
> Tony
>
>  ----------------------------------------
> XMethods Web Services  Listings
> http://www.xmethods.net
>
>
>  To unsubscribe from this group, send an email to:
>  soapbuilders-unsubscribe@yahoogroups.com
>
>
>



To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com








To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com




To  unsubscribe from this group, send an email  to:
soapbuilders-unsubscribe@yahoogroups.com



                                                                           
                                Yahoo! Groups Sponsor                      
                                                                           
                                                                           
                                                                           
                                                                           
                                                        [IMAGE]            
               [IMAGE]                                                     
                                                                           
                                                                           
                                                          !                
                                  www. .com                                
                                                                           
                                                                           
                                                                           
          [IMAGE]                                                          
                                                                           


To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com








To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#26 From: "W. Matthew Long" <mlong@...>
Date: Fri Feb 2, 2001 3:11 am
Subject: Re: Interoperability lab
mlong@...
Send Email Send Email
 
>   Hi Tony,
>
>   What I'm actually looking for is a service that doesn't put in the
> xsi:type
>   stuff and relies on WSDL/SDL/whatever to get the knowledge of the
types of
>   parameters of a call. We recently put in support in Apache SOAP
to handle
>   that and I haven't been able to find any complex type tests. I
wrote a
>   simpel test to talk to your guidgen server (written in MS SOAP I
believe)
>   and it works fine.
>

Sanjiva,

We should be releasing the vbSOAP tool set in two weeks.  The SOAP
Processor utilizes the WSDL Processor to ensure the scenario.
1) If the xsi:type is set in the Request Envelope the xsi:type is
check against the WSDL document, also the value is check against the
type specific is the xsi:type(s) match between the request and the
WSLD document for the service
2) If the xsi:type is not specified, the SOAP processor utilizes the
WSDL processor to ensure the part values can be converted into the
appropriate type.
3) Finally, we have WSDL interrogator that will generate VBScript
from a WSDL document for method calls.  The Interrogator along with
our SOAP client will automatically use xsi:type attributes on the
parts for interoperability purposes, although our SOAP processor does
not require it.

We have found that the WSDL Interrogator along with our SOAP client
is highly interoperable with does take into account the possibility
of differing XMLSchema, i.e., 1999 and 2000/10, which some
implementations require.

All this will be available, along with our WSDL Wizard for COM
objects after the documentation is completed (which is a mountain of
documentation)

#27 From: "Florin Moldovan" <florin@...>
Date: Fri Feb 2, 2001 9:47 am
Subject: SOAP question
florin@...
Send Email Send Email
 

        Hi everybody,

I'm a Java programmer and I'm working with Apache SOAP.
I want to send an object like ObjectType, via SOAP, and I don't know how. Could anybody help me ?
(I work with Apache SOAP)

e.g.:
public class ObjectType{

    String s;
    Vector v;
    AnotherType a;
............
}

It's a problem with Vector and AnotherType types.
I want to use this ObjectType like parameter of a client-side methode.

Thank you very, very much.

            Florin.



#28 From: "Tony Hong" <thong@...>
Date: Fri Feb 2, 2001 10:01 am
Subject: RE: SOAP question
thong@...
Send Email Send Email
 
Hi Florin,
 
This is a great question. I will send an email to you offline regarding this.
 
In the future, may I redirect you to the Apache user list ? That is probably
a better venue for this question, as it is Apache specific. This "soapbuilder" list
is purely focused on interoperability and SOAP spec interpretation questions.
 
The email to subscribe to that list is: soap-user-subscribe@...
For more details, see http://xml.apache.org/mail.html
 
Thanks
 
Tony
 
 
-----Original Message-----
From: Florin Moldovan [mailto:florin@...]
Sent: Friday, February 02, 2001 1:48 AM
To: soapbuilders@yahoogroups.com
Subject: [soapbuilders] SOAP question


        Hi everybody,

I'm a Java programmer and I'm working with Apache SOAP.
I want to send an object like ObjectType, via SOAP, and I don't know how. Could anybody help me ?
(I work with Apache SOAP)

e.g.:
public class ObjectType{

    String s;
    Vector v;
    AnotherType a;
............
}

It's a problem with Vector and AnotherType types.
I want to use this ObjectType like parameter of a client-side methode.

Thank you very, very much.

            Florin.




To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#29 From: quaine_nicholas@...
Date: Fri Feb 2, 2001 12:39 pm
Subject: Making VB talk to Apache
quaine_nicholas@...
Send Email Send Email
 
Apologies to those who are seeing this same question on a gzillion
different discussion groups but I am determined to find out if this is
possible or not and it seems like this is just the right place to
do that...

<B>has anyone out there managed to make a Visual Basic client
(Microsoft SOAP Toolkit v2.0) which exploits a WSDL file work against
a SOAP server implemented with Apache SOAP 2.0 or 2.1 ?</B>

I have made a VB client work against an Apache SOAP server by
exploiting the low level API (ie. manipulating the soap envelope
directly on the VB side to include the xsi:type param) but would like
to get it working by exploiting the high level API / WSDL file.

Apparently Apache SOAP 2.1 has "Reduced dependency on xsi:type for
deserialization" - but I haven't yet seen how. examples...
1) If I take my VB client written with a low level API and remove the
code which inserts the xsi:type line into the envelope, I get a server
side error : "No Deserializer found" for my 'type' (actually my
method's parameter name) - see actual error message below.
2) If I use the high level API and exploit a wsdl file I get the same
error

No Deserializer found to deserialize a ':imntType' using encoding
style 'http://schemas.xmlsoap.org/soap/encoding/'.

many thanks for any help you can provide

Nick Quaine

#30 From: Jacek Kopecky <jacek@...>
Date: Fri Feb 2, 2001 3:02 pm
Subject: Re: Re: Interoperability lab
jacek@...
Send Email Send Email
 
W. Matthew, I see that you chose the same approach as IdooXoap did,
too. We also compare xsi:type against the WSDL, we don't require
xsi:type either and we also put it in there everywhere.

What kind of XML Schema representation of SOAP Encoding structures
do you support? Or do you support any general schema?

                             Jacek Kopecky
                                Idoox



On Fri, 2 Feb 2001, W. Matthew Long wrote:

  > >   Hi Tony,
  > >
  > >   What I'm actually looking for is a service that doesn't put in the
  > > xsi:type
  > >   stuff and relies on WSDL/SDL/whatever to get the knowledge of the
  > types of
  > >   parameters of a call. We recently put in support in Apache SOAP
  > to handle
  > >   that and I haven't been able to find any complex type tests. I
  > wrote a
  > >   simpel test to talk to your guidgen server (written in MS SOAP I
  > believe)
  > >   and it works fine.
  > >
  >
  > Sanjiva,
  >
  > We should be releasing the vbSOAP tool set in two weeks.  The SOAP
  > Processor utilizes the WSDL Processor to ensure the scenario.
  > 1) If the xsi:type is set in the Request Envelope the xsi:type is
  > check against the WSDL document, also the value is check against the
  > type specific is the xsi:type(s) match between the request and the
  > WSLD document for the service
  > 2) If the xsi:type is not specified, the SOAP processor utilizes the
  > WSDL processor to ensure the part values can be converted into the
  > appropriate type.
  > 3) Finally, we have WSDL interrogator that will generate VBScript
  > from a WSDL document for method calls.  The Interrogator along with
  > our SOAP client will automatically use xsi:type attributes on the
  > parts for interoperability purposes, although our SOAP processor does
  > not require it.
  >
  > We have found that the WSDL Interrogator along with our SOAP client
  > is highly interoperable with does take into account the possibility
  > of differing XMLSchema, i.e., 1999 and 2000/10, which some
  > implementations require.
  >
  > All this will be available, along with our WSDL Wizard for COM
  > objects after the documentation is completed (which is a mountain of
  > documentation)
  >
  >
  >
  >
  >
  >
  >
  > To unsubscribe from this group, send an email to:
  > soapbuilders-unsubscribe@yahoogroups.com
  >
  >
  >

#31 From: "Matt Long" <mlong@...>
Date: Fri Feb 2, 2001 3:34 pm
Subject: RE: Re: Interoperability lab
mlong@...
Send Email Send Email
 
> W. Matthew, I see that you chose the same approach as IdooXoap did,
> too. We also compare xsi:type against the WSDL, we don't require
> xsi:type either and we also put it in there everywhere.
>
> What kind of XML Schema representation of SOAP Encoding structures
> do you support? Or do you support any general schema?
>
>                             Jacek Kopecky
>                                Idoox


We're using 2000/10 as the default of the WSDL Wizard, but it is up to the
user to insert the schema for a part(s) where needed, i.e., support
xsi:type(s) do not schemas nor does supportted ArrayOfTypes.  Our WSDL
Interrogator can set the xsi and xsd namespaces from the WSDL document for
our SOAP client if these exist in the WSDL Document (which is needed in some
implementations).  The general rule in our implementation is that if a part
is not a supportted xsi:type, i.e., xsd:string, xsd:date, xsd:timeInstant,
xsd:double,.... then it must be properly identified to the <types> element,
i.e., the schema of the WSDL document.

Example tns:PurchaseOrder.  If this occurs the processor will cut out the
scoping element and its children of "tns:PurchaseOrder" and pass to the
method call as a document fragment.

...soap arrays can only be one dimension for now and must be in the form
	 <SOAP-ENC:Array  SOAP-ENC:arrayType="xsd:whatever">
		 <part/>
		 <part/>
	 </SOAP-ENC:Array>
We choose this for arrays since it is the basic form and *should* interop
best.

...Also, the WSDL Interrogator will inspect the <types> in the WSDL document
in such a case that a part is a object(i.e., dom document or xml fragment)
and will display the schema of said part in comments for VBScript.  With
this the service implementor receives the correct schema (specific to the
WSDL document interrogated) such that the service implementor can correctly
form the object to pass in the request.






>
>
>
> On Fri, 2 Feb 2001, W. Matthew Long wrote:
>
>  > >   Hi Tony,
>  > >
>  > >   What I'm actually looking for is a service that
> doesn't put in the
>  > > xsi:type
>  > >   stuff and relies on WSDL/SDL/whatever to get the
> knowledge of the
>  > types of
>  > >   parameters of a call. We recently put in support in
> Apache SOAP
>  > to handle
>  > >   that and I haven't been able to find any complex type tests. I
>  > wrote a
>  > >   simpel test to talk to your guidgen server (written in
> MS SOAP I
>  > believe)
>  > >   and it works fine.
>  > >
>  >
>  > Sanjiva,
>  >
>  > We should be releasing the vbSOAP tool set in two weeks.  The SOAP
>  > Processor utilizes the WSDL Processor to ensure the scenario.
>  > 1) If the xsi:type is set in the Request Envelope the xsi:type is
>  > check against the WSDL document, also the value is check
> against the
>  > type specific is the xsi:type(s) match between the request and the
>  > WSLD document for the service
>  > 2) If the xsi:type is not specified, the SOAP processor
> utilizes the
>  > WSDL processor to ensure the part values can be converted into the
>  > appropriate type.
>  > 3) Finally, we have WSDL interrogator that will generate VBScript
>  > from a WSDL document for method calls.  The Interrogator
> along with
>  > our SOAP client will automatically use xsi:type attributes on the
>  > parts for interoperability purposes, although our SOAP
> processor does
>  > not require it.
>  >
>  > We have found that the WSDL Interrogator along with our
> SOAP client
>  > is highly interoperable with does take into account the
> possibility
>  > of differing XMLSchema, i.e., 1999 and 2000/10, which some
>  > implementations require.
>  >
>  > All this will be available, along with our WSDL Wizard for COM
>  > objects after the documentation is completed (which is a
> mountain of
>  > documentation)
>  >
>  >
>  >
>  >
>  >
>  >
>  >
>  > To unsubscribe from this group, send an email to:
>  > soapbuilders-unsubscribe@yahoogroups.com
>  >
>  >
>  >
>
>
> ------------------------ Yahoo! Groups Sponsor
> ---------------------~-~>
> eGroups is now Yahoo! Groups
> Click here for more details
> http://click.egroups.com/1/11231/0/_/_/_/981126210/
> --------------------------------------------------------------
> -------_->
>
> To unsubscribe from this group, send an email to:
> soapbuilders-unsubscribe@yahoogroups.com
>
>

#32 From: "Darshan Singh" <darshan@...>
Date: Fri Feb 2, 2001 5:08 pm
Subject: SOAP::Lite Article
darshan@...
Send Email Send Email
 
Nice article on how to use SOAP::Lite for Perl from CPAN to write SOAP
Applications:
http://www.perl.com/pub/2001/01/soap.html

Kind Regards,
Darshan
http://www.PerfectXML.com

#33 From: Paul Kulchenko <paulclinger@...>
Date: Fri Feb 2, 2001 7:02 pm
Subject: Re: SOAP::Lite Article
paulclinger@...
Send Email Send Email
 
Hi, Darshan!

--- Darshan Singh <darshan@...> wrote:
> Nice article on how to use SOAP::Lite for Perl from CPAN to write
> SOAP Applications:
> http://www.perl.com/pub/2001/01/soap.html
Thank you, Darshan, that you mentioned this article. I'm glad you
like it. Hope it'll be continued. I have more material, and just
don't have a time :).

Best wishes, Paul.

P.S. I remember about SOAPAction in your article. Write you in next
message.


__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35
a year!  http://personal.mail.yahoo.com/

#34 From: "Dave Winer" <dave@...>
Date: Fri Feb 2, 2001 9:24 pm
Subject: SOAP 1.1 Validator
dave@...
Send Email Send Email
 
Greetings SOAP Builders.

Tony invited me to join this list, and I'm happy to be here.

As a form of introduction, please check out this site..

http://validator.soapware.org/

This server is running Frontier 6.2, with our SOAP support.

We used the validator approach with much success in shaking out the
incompatibilities in XML-RPC.

Now that SOAP is starting to get widely deployed it'll be interesting to
know if we're all talking the same language.

Tools like the validator can help, imho.

Dave

______________________________
Dave Winer, UserLand Software
Daily notes: http://www.scripting.com/
"It's even worse than it appears."

#35 From: Paul Kulchenko <paulclinger@...>
Date: Sat Feb 3, 2001 3:02 am
Subject: RE: Interoperability lab
paulclinger@...
Send Email Send Email
 
Hi, Tony!

> One thing to note: in versions prior to 0.46, the namespace of the
> generated
> structure is the same as the method namespace URI (in this case,
> urn:xmethodsInterop) . I believe in 0.46, this is now configurable.
Yes, that's true. You may specify (with maptype() method) mappings
between types and namespaces. Introduced basically for Apache
interoperability :)).

Best wishes, Paul.

--- Tony Hong <thong@...> wrote:
> Simon, here's a snippet of SOAP::Lite that calls the echoStruct
> service.
> Paul, please don't beat me up if the Perl isn't pretty! :-)
>
>
----------------------------------------------------------------------------
> -----------------
>
> #!/usr/bin/perl
>
> use SOAP::Lite;
>
> SOAP::Data->import('name');
>
> my %hash = (
>         varInt => 5,
>         varString => "test string",
>         varFloat => 6.2
> );
>
> $h=SOAP::Lite
>   -> uri ('urn:xmethodsInterop')
>   ->
> proxy('http://services.xmethods.com:80/soap/servlet/rpcrouter')
>   -> echoStruct(name("testStruct" => \%hash))
> ;
>
> if($h->faultcode)
> {print "FAULT CODE --------------------\n";
> print $h->faultcode. "\n\n";
> print "FAULT DETAIL--------------------\n";
> print $h->faultstring. "\n";
> }
> else
> {
> print "RESULT --------------------\n";
> foreach $k (keys %{$h->result})
> {
> print $k."\t".$h->result->{$k}."\n";
> }
> }
>
>
------------------------------------------------------------------------
>
> It generates the following envelope:
>
> POST /soap/servlet/rpcrouter HTTP/1.0
> Host: tony:8080
> User-Agent: SOAP::Lite/Perl/0.45
> Content-Length: 662
> Content-Type: text/xml
> SOAPAction: "urn:xmethodsInterop#echoStruct"
>
> <?xml version="1.0" encoding="UTF-8"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema">
> <SOAP-ENV:Body>
> <namesp1:echoStruct xmlns:namesp1="urn:xmethodsInterop">
> <testStruct xsi:type="namesp1:SOAPStruct">
> <varFloat xsi:type="xsd:float">6.2</varFloat>
> <varString xsi:type="xsd:string">test string</varString>
> <varInt xsi:type="xsd:int">5</varInt></testStruct>
> </namesp1:echoStruct>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> ---------------------------------------------------
>
> And when you run it, here's the output bounced off the Apache
> version
> echoStruct method:
>
> RESULT --------------------
> varFloat        6.2
> varString       test string
> varInt  5
>
>
>
> One thing to note: in versions prior to 0.46, the namespace of the
> generated
> structure is the same as the method namespace URI (in this case,
> urn:xmethodsInterop) . I believe in 0.46, this is now configurable.
> I'll let
> Paul comment on that .
>
> Cheers,
> Tony
>   -----Original Message-----
>   From: Simon Fell [mailto:soap@...]
>   Sent: Thursday, February 01, 2001 12:23 AM
>   To: soapbuilders@yahoogroups.com
>   Subject: Re: [soapbuilders] Interoperability lab
>
>
>   I've got an implementation of this running, i'll try and get it
> on a
>   public server tomorrow. I'm testing with SOAP::Lite as a client,
> can
>   anyone show me how to call the echoStruct method, i'm having
> trouble
>   getting the values nested in the inputStruct element (my perl
> skills
>   can only get better from this point <g>)
>
>   this is what i currently have
>
>   my @struct = (
>         SOAP::Data->name(varInt => 42),
>         SOAP::Data->name(varFloat => 42.42),
>         SOAP::Data->name(varString => "SOAP::Lite to 4s4c")
>         ) ;
>
>   my @parameters = (
>         SOAP::Data->name(inputStruct => @struct )
>         ) ;
>
>   print @{$soap->echoStruct(@parameters)->method}{'outputStruct'} ,
> "\n"
>   ;
>
>
>   For reference here are traces for the call to echoStringArray,
> one
>   thing i did notice is that SOAP::Lite types the array as
> namesp2:Array
>   whilst i'm typing it as SOAP-ENC:Array.
>
>   Cheers
>   Simon
>
>   ------------------ SOAP::Lite request ---------------------------
>   POST /ilab/soap.asp HTTP/1.0
>   Host: localhost:8080
>   User-Agent: SOAP::Lite/Perl/0.45
>   Content-Type: text/xml
>   SOAPAction: "urn:xmethodsInterop#echoStringArray"
>
>   <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
>   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>   xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body>
>   <namesp2:echoStringArray xmlns:namesp2="urn:xmethodsInterop">
>   <inputStringArray SOAP-ENC:arrayType="xsd:string[3]"
>   xsi:type="namesp2:Array">
>   <c-gensym9 xsi:type="xsd:string">SOAP::Lite</c-gensym9>
>   <c-gensym9 xsi:type="xsd:string">to</c-gensym9>
>   <c-gensym9 xsi:type="xsd:string">4s4c</c-gensym9>
>   </inputStringArray></namesp2:echoStringArray>
>   </SOAP-ENV:Body></SOAP-ENV:Envelope>
>
>
>   ---------------------- 4s4c Response
> -----------------------------
>   HTTP/1.1 200 OK
>   Server: Microsoft-IIS/5.0
>   Date: Thu, 01 Feb 2001 08:09:24 GMT
>   Connection: Keep-Alive
>   Content-Type: text/xml
>   Expires: Thu, 01 Feb 2001 08:09:24 GMT
>   Set-Cookie: ASPSESSIONIDGGQGQPMO=OOMLALIAMAFPCEFMOJNBNGGN; path=/
>   Cache-control: private
>
>   <?xml version="1.0"?><SOAP-ENV:Envelope
>   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>   xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>   xmlns:xsd="http://www.w3.org/1999/XMLSchema"
>   xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>   <SOAP-ENV:Body><m:echoStringArrayResponse
>   xmlns:m="urn:xmethodsInterop">
>   <outputStringArray xsi:type="SOAP-ENC:Array"
>   SOAP-ENC:arrayType="xsd:string[3]">
>   <item xsi:type="xsd:string">SOAP::Lite</item>
>   <item xsi:type="xsd:string">to</item>
>   <item xsi:type="xsd:string">4s4c</item>
>   </outputStringArray></m:echoStringArrayResponse>
>   </SOAP-ENV:Body></SOAP-ENV:Envelope>
>
>
>
>   On Wed, 31 Jan 2001 17:17:32 -0800, in soap you wrote:
>
>   >Sanjiva,
>   >
>   >One other note -  to illustrate the existing struct array test,
> here is
> the
>   >request/response wiredump. In
>   >this example, it's a Apache 2.0 client hitting a SOAPLite server
> (it
> works
>   >successfully) . Let me know if
>   >this is what you're thinking about, or if you need something
> different.
>
=== message truncated ===


__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35
a year!  http://personal.mail.yahoo.com/

#36 From: "W. Matthew Long" <mlong@...>
Date: Sun Feb 4, 2001 5:48 pm
Subject: SOAP/WSDL "document" form
mlong@...
Send Email Send Email
 
I'd like see what the consensus is for the "document" message form, x-
multpart MIME.  We're treating documents as XML Document Fragments as
this seems more native for a document than DOM Document, i.e., a dom
document can always be converted to an xml fragment, but an xml
fragment isn't always a dom document.

Is this consistent with other implementations????

#37 From: quaine_nicholas@...
Date: Mon Feb 5, 2001 5:59 pm
Subject: Re: Making VB talk to Apache (response to my own question)
quaine_nicholas@...
Send Email Send Email
 
ANYONE WANTING TO MAKE A MSSOAP/WSDL CLIENT TALK TO AN APACHE
SERVER...

I found Sanjiva's example in his comments as posted on soap-dev after
making the xsi:type change
I can confirm that this works - ms soap toolkit client using wsdl can
talk to apache soap if you follow the instructions

anyone interested can go to the following page to see how this works
http://marc.theaimsgroup.com/?l=soap-dev&m=97901982213396&w=2

you will need to have apache soap 2.1 (rc1) and update you deployment
descriptor as described

Nick



--- In soapbuilders@y..., quaine_nicholas@j... wrote:
> Apologies to those who are seeing this same question on a gzillion
> different discussion groups but I am determined to find out if this
is
> possible or not and it seems like this is just the right place to
> do that...
>
> <B>has anyone out there managed to make a Visual Basic client
> (Microsoft SOAP Toolkit v2.0) which exploits a WSDL file work
against
> a SOAP server implemented with Apache SOAP 2.0 or 2.1 ?</B>
>
> I have made a VB client work against an Apache SOAP server by
> exploiting the low level API (ie. manipulating the soap envelope
> directly on the VB side to include the xsi:type param) but would
like
> to get it working by exploiting the high level API / WSDL file.
>
> Apparently Apache SOAP 2.1 has "Reduced dependency on xsi:type for
> deserialization" - but I haven't yet seen how. examples...
> 1) If I take my VB client written with a low level API and remove
the
> code which inserts the xsi:type line into the envelope, I get a
server
> side error : "No Deserializer found" for my 'type' (actually my
> method's parameter name) - see actual error message below.
> 2) If I use the high level API and exploit a wsdl file I get the
same
> error
>
> No Deserializer found to deserialize a ':imntType' using encoding
> style 'http://schemas.xmlsoap.org/soap/encoding/'.
>
> many thanks for any help you can provide
>
> Nick Quaine

#38 From: "W. Matthew Long" <mlong@...>
Date: Tue Feb 6, 2001 12:15 am
Subject: Interop Issue - Good Example
mlong@...
Send Email Send Email
 
I came across a good example of an interop issue.  The WSDL at this
url
http://www.xmethods.net/sd/XMethodsListingsService.wsdl
has schema associated with its types element (this is included at the
bottom).  The schema is entirely correct, but does provide an
interesting issue when returning or sending objects.  This particular
wsdl doc has an array of objects associated with it.  Under
a "normal" processor a part with type attribute = "xsd:ArrayOfFloat"
can be easily resolved without the aid of schema.  However, when the
part has an element attribute the schema must be involved.  In our
implementation an element attribute is equivalent to passing an
object, e.g., this is a critical issue (for us).  In the example the
response part's element attribute is "tns:ItemArray" .  A processor
could correctly determine that this object is an array of objects by
retrieving the preappended the "Array" from the text and prefixing
with non-"xsd".   However, it would appear more gentle to
use "tns:ArrayOfSOAPService" as this would be as easily resolvable
into
a) element attribute confirms schema is involved (object in our case)
b) "tns" confirms same as [a]
c) "ArrayOf" signals and array is present (which is same when xsd
type is present.
d) "SOAPService" gives us the root of the schema tree to resolve
downward.

Opinions.....?????

-Matt
..........the schema........
<types>
   <schema
targetNamespace="http://www.xmethods.net/XMethodsListingService.xsd"
xmlns="http://www.w3.org/1999/XMLSchema">
     <element name="SOAPService">
       <complexType>
         <sequence>
           <element name="name" type="string"/>
           <element name="owner" type="string"/>
           <element name="description" type="string"/>
           <element name="homepageURL" type="string"/>
           <element name="endpoint" type="string"/>
           <element name="SOAPAction" type="string"/>
           <element name="methodNamespaceURI" type="string"/>
           <element name="methodName" type="string"/>
           <element name="wsdlURL" type="string"/>
           <element name="instructions" type="string"/>
           <element name="contact_email" type="string"/>
           <element name="serverImplementation" type="string"/>
         </sequence>
       </complexType>
     </element>
     <element name="itemArray">
       <complexType name="ArrayOfSOAPService" base="soap:Array">
         <all>
           <element name="item" type="xsdl:SOAPService"/>
         </all>
       </complexType>
     </element>
   </schema>
</types>

#39 From: Simon Fell <soap@...>
Date: Tue Feb 6, 2001 1:23 am
Subject: Re: Interop Issue - Good Example
soap@...
Send Email Send Email
 
On Tue, 06 Feb 2001 00:15:41 -0000, in soap you wrote:

>I came across a good example of an interop issue.  The WSDL at this
>url
>http://www.xmethods.net/sd/XMethodsListingsService.wsdl
>has schema associated with its types element (this is included at the
>bottom).  The schema is entirely correct, but does provide an
>interesting issue when returning or sending objects.  This particular
>wsdl doc has an array of objects associated with it.  Under
>a "normal" processor a part with type attribute = "xsd:ArrayOfFloat"
>can be easily resolved without the aid of schema.

Assuming xsd points to http://www.w3.org/1999/XMLSchema then
xsd:ArrayOfFloat doesn't exist. what i've seen everyone else do for
arrays, is to define their own type for arrays, following the
recommended naming convention from the WSDL spec. (there's still an
outstanding debate of how exactly the array should be defined)

This could be massively simplified by someone coming up with a schema
that defines all the common array types and importing it in. However
the current MS toolkit doesn't support import, and i'm not sure how
many others do.

>However, when the
>part has an element attribute the schema must be involved.  In our
>implementation an element attribute is equivalent to passing an
>object, e.g., this is a critical issue (for us).  In the example the
>response part's element attribute is "tns:ItemArray" .  A processor
>could correctly determine that this object is an array of objects by
>retrieving the preappended the "Array" from the text and prefixing
>with non-"xsd".   However, it would appear more gentle to
>use "tns:ArrayOfSOAPService" as this would be as easily resolvable
>into
>a) element attribute confirms schema is involved (object in our case)
>b) "tns" confirms same as [a]
>c) "ArrayOf" signals and array is present (which is same when xsd
>type is present.
>d) "SOAPService" gives us the root of the schema tree to resolve
>downward.
>
>Opinions.....?????

ok, try this.

1. complex types can be "linked" from the messages section to the
types section via a element name / element pair or a complex type /
type pair

2. the uri for tns needs to match the targetnamespace in the
\\types\schema section

3. the complex type definition is inheriting from soap:Array and this
should be used to indicate that its an array. the all/sequence/element
info within the complexType has the info to de-reference the array
contents.

(IMO) basing it on the text name is a mistake, you've got to pick your
way through all the schema references, I'm beginning to understand why
Jacek didn't like it !

Cheers
Simon
www.pocketsoap.com

#40 From: Simon Fell <soap@...>
Date: Tue Feb 6, 2001 4:00 am
Subject: ANN: proxyTrace 0.1
soap@...
Send Email Send Email
 
WSDL make using tcpTrace (or the Apache original) more troublesome, as
you normally have to tweak the WSDL so that the URLs it contains go
through your trace setup. I got fed up with that and made a version of
tcpTrace that acts as a real HTTP proxy server, making it much easier
to test WSDL based tools with (assuming you have a SOAP client with
proxy server support)

www.pocketsoap.com/tcptrace/pt.asp

Cheers
Simon
www.pocketsoap.com

#41 From: "Tony Hong" <thong@...>
Date: Tue Feb 6, 2001 11:33 am
Subject: RE: [wsdl] Re: Interop Issue - Good Example
thong@...
Send Email Send Email
 
Regarding Matt's suggestion, I may be misunderstanding... but
 
If you use "tns:ArrayOfSOAPService" directly, wouldn't you need to use
 
type="tns:ArrayOfSOAPService"
 
in the part definition rather than using the element attribute? Since
 
tns:ArrayOfSOAPService
 
is a reference directly to a complexType definition?
 
Perhaps one rule could be:
 
If the message part is referencing an element, then you do your object construction
after you've determined the type, either by looking at a <complexType> child of the
element or by following a "type" attribute on the element.
 
Then, you end up at "ArrayOfSOAPService" and go from there, and Simon's rule #3
kicks in.
 
Or am I completely off base here?
 
Thanks,
Tony
 
 
 
 
 
-----Original Message-----
From: Simon Fell [mailto:soap@...]
Sent: Monday, February 05, 2001 5:24 PM
To: soapbuilders@yahoogroups.com
Cc: wsdl@yahoogroups.com
Subject: [wsdl] Re: [soapbuilders] Interop Issue - Good Example

On Tue, 06 Feb 2001 00:15:41 -0000, in soap you wrote:

>I came across a good example of an interop issue.  The WSDL at this
>url
>http://www.xmethods.net/sd/XMethodsListingsService.wsdl
>has schema associated with its types element (this is included at the
>bottom).  The schema is entirely correct, but does provide an
>interesting issue when returning or sending objects.  This particular
>wsdl doc has an array of objects associated with it.  Under
>a "normal" processor a part with type attribute = "xsd:ArrayOfFloat"
>can be easily resolved without the aid of schema. 

Assuming xsd points to http://www.w3.org/1999/XMLSchema then
xsd:ArrayOfFloat doesn't exist. what i've seen everyone else do for
arrays, is to define their own type for arrays, following the
recommended naming convention from the WSDL spec. (there's still an
outstanding debate of how exactly the array should be defined)

This could be massively simplified by someone coming up with a schema
that defines all the common array types and importing it in. However
the current MS toolkit doesn't support import, and i'm not sure how
many others do.

>However, when the
>part has an element attribute the schema must be involved.  In our
>implementation an element attribute is equivalent to passing an
>object, e.g., this is a critical issue (for us).  In the example the
>response part's element attribute is "tns:ItemArray" .  A processor
>could correctly determine that this object is an array of objects by
>retrieving the preappended the "Array" from the text and prefixing
>with non-"xsd".   However, it would appear more gentle to
>use "tns:ArrayOfSOAPService" as this would be as easily resolvable
>into
>a) element attribute confirms schema is involved (object in our case)
>b) "tns" confirms same as [a]
>c) "ArrayOf" signals and array is present (which is same when xsd
>type is present.
>d) "SOAPService" gives us the root of the schema tree to resolve
>downward.
>
>Opinions.....?????

ok, try this.

1. complex types can be "linked" from the messages section to the
types section via a element name / element pair or a complex type /
type pair

2. the uri for tns needs to match the targetnamespace in the
\\types\schema section

3. the complex type definition is inheriting from soap:Array and this
should be used to indicate that its an array. the all/sequence/element
info within the complexType has the info to de-reference the array
contents.

(IMO) basing it on the text name is a mistake, you've got to pick your
way through all the schema references, I'm beginning to understand why
Jacek didn't like it !

Cheers
Simon
www.pocketsoap.com


To unsubscribe from this group, send an email to:
wsdl-unsubscribe@yahoogroups.com



#42 From: "Tony Hong" <thong@...>
Date: Tue Feb 6, 2001 11:42 am
Subject: Definitions of Arrays
thong@...
Send Email Send Email
 
And while we're talking about WSDL arrays...
In http://www.xmethods.net/sd/XMethodsListingsService.wsdl

I have an array defined like this:

<element name="itemArray">
    <complexType name="ArrayOfSOAPService" base="soap:Array">
       <all>
          <element name="item" type="xsdl:SOAPService" />
       </all>
</complexType>

But I now believe this is incorrect, since <all> groupings allow
only 0 or 1 occurences of the enclosed element, in this case <item> -
which isn't right for an array.

So instead, <sequence> should be used rather than <all>

Is everyone in agreement with this reassessment?

Thanks!

Tony




----------------------------------------
XMethods Web Services Listings
http://www.xmethods.net

#43 From: priya_m@...
Date: Thu Feb 8, 2001 5:00 am
Subject: .NET interop issues
priya_m@...
Send Email Send Email
 
Hi ,
I was wondering if anyone has attempted to access .NET services from
an Apache SOAP client...and if so, whether they wud care to share
their experiences. I've been trying to  do the same, and found a few
problems, which I also posted to the soap dev newsgroups..and since I
see alot of familiar faces here, shall not repeat that mail.
Noticed another thing today..I have been attempting to pass a string
parameter to a .NET service...but it was consistently receving a null
instead of the actually param value.
Used the Messaging classes to construct the payload and send it
across, experimented with it, and found the following:

a) in the original payload, the body entry for the method name was
similar to : <ns:sendParam xmlns:ns=blah blah> .... </ns>
..and the parameters inside this were not being read correctly by .NET

b) I modifed the above like so :
<sendParam .....blah blah>.... </sendParam>..
and voila !! it works - .NET is now being able to read the correct
parameters inside this...

what gives ????

regards,
Priya

#44 From: Paul Kulchenko <paulclinger@...>
Date: Thu Feb 8, 2001 6:02 am
Subject: Re: .NET interop issues
paulclinger@...
Send Email Send Email
 
Hi, Priya!

Here is details from SOAP::Lite documentation. It's specific to
SOAP::Lite implementation, however the same logic will work for
ApacheSOAP also and check explanation of Stefan Pharies about .Net
behavior. Hope it helps.

Best wishes, Paul.

=head2 INTEROPERABILITY

=over 4

=item Microsoft's .NET

To use .NET client and SOAP::Lite server

=over 4

=item qualify all elements

use fully qualified names for your return values, e.g.:

   return
SOAP::Data->name('~:myname')->type('string')->value($output);

In addition see comment about default incoding in .NET Web Services
below.

=back

To use SOAP::Lite client and .NET server

=over 4

=item declare proper soapAction (uri/method) in your call

For example, use C<on_action(sub{join '', @_})>.

=item qualify all elements

Any of following actions should work:

=over 4

=item use fully qualified name for method parameters

Use C<< SOAP::Data->name('~:Query'  => 'biztalk') >> instead of
C<< SOAP::Data->name('Query'  => 'biztalk') >>.

Example of SOAPsh call (all parameters should be in one line):

   > perl SOAPsh.pl
     "http://beta.search.microsoft.com/search/mscomsearchservice.asmx"

     "http://tempuri.org/"
     "on_action(sub{join '', @_})"
     "GetVocabulary(SOAP::Data->name('~:Query'  => 'biztalk'))"

=item make method in default namespace

instead of

   my @rc = $soap->call(add => @parms)->result;
   # -- OR --
   my @rc = $soap->add(@parms)->result;

use

   my $method = SOAP::Data->name('add')
                          ->attr({xmlns => 'http://tempuri.org/'});
   my @rc = $soap->call($method => @parms)->result;

=item modify .NET server if you are in charge for that

Stefan Pharies <stefanph@...>:

SOAP::Lite uses the SOAP encoding (section 5 of the soap 1.1 spec),
and
the default for .NET Web Services is to use a literal encoding. So
elements in the request are unqualified, but your service expects
them to
be qualified. .Net Web Services has a way for you to change the
expected
message format, which should allow you to get your interop working.
At the top of your class in the asmx, add this attribute:

   [SoapService(Style=SoapServiceStyle.RPC)]

Full Web Service text may look like (as far as I understand the
syntax):

   <%@ WebService Language="C#" Class="Test" %>
   using System.Web.Services;

   [SoapService(Style=SoapServiceStyle.RPC)]
   public class Test : WebService {
     [WebMethod]
     public int add(int a, int b) {
       return a + b;
     }
   }

=back

=back

Thanks to
   Petr Janata <petr.janata@...>,
   Stefan Pharies <stefanph@...>, and
   Brian Jepson <bjepson@...>
for description and examples.

=back


--- priya_m@... wrote:
> Hi ,
> I was wondering if anyone has attempted to access .NET services
> from
> an Apache SOAP client...and if so, whether they wud care to share
> their experiences. I've been trying to  do the same, and found a
> few
> problems, which I also posted to the soap dev newsgroups..and since
> I
> see alot of familiar faces here, shall not repeat that mail.
> Noticed another thing today..I have been attempting to pass a
> string
> parameter to a .NET service...but it was consistently receving a
> null
> instead of the actually param value.
> Used the Messaging classes to construct the payload and send it
> across, experimented with it, and found the following:
>
> a) in the original payload, the body entry for the method name was
> similar to : <ns:sendParam xmlns:ns=blah blah> .... </ns>
> ..and the parameters inside this were not being read correctly by
> .NET
>
> b) I modifed the above like so :
> <sendParam .....blah blah>.... </sendParam>..
> and voila !! it works - .NET is now being able to read the correct
> parameters inside this...
>
> what gives ????
>
> regards,
> Priya
>
>
> ------------------------ Yahoo! Groups Sponsor
>
> To unsubscribe from this group, send an email to:
> soapbuilders-unsubscribe@yahoogroups.com
>
>
>


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year!  http://personal.mail.yahoo.com/

#45 From: "Tony Hong" <thong@...>
Date: Thu Feb 8, 2001 1:52 pm
Subject: RE: .NET interop issues
thong@...
Send Email Send Email
 
Hi all,
 
As I mentioned earlier I am developing a testbed for testing interoperability
against a number of different implementations. It's still work-in-progress,
but I have 4 implementations up and running and I thought this would be a
good point to solicit some feedback about what might make this more useful.
 
The URL is:
 
 
For this pass, I just tried to stick to the basic types that all or almost all
implementations support.  Other non-standard types will come in later
(eg., Apache "map"  encoding, etc)
 
Per Priya's email, I will be doing .NET in the next set of implementations, so
hopefully we can all pound on it with our favorite clients and see what other
interoperability issues fall out.
 
Thanks in advance for any suggestions for improving this.
 
Tony
 
PS Thanks to Simon Fell for building the 4S4C version!
 
 
-----Original Message-----
From: Paul Kulchenko [mailto:paulclinger@...]
Sent: Wednesday, February 07, 2001 10:02 PM
To: soapbuilders@yahoogroups.com
Subject: Re: [soapbuilders] .NET interop issues

Hi, Priya!

Here is details from SOAP::Lite documentation. It's specific to
SOAP::Lite implementation, however the same logic will work for
ApacheSOAP also and check explanation of Stefan Pharies about .Net
behavior. Hope it helps.

Best wishes, Paul.

=head2 INTEROPERABILITY

=over 4

=item Microsoft's .NET

To use .NET client and SOAP::Lite server

=over 4

=item qualify all elements

use fully qualified names for your return values, e.g.:

  return
SOAP::Data->name('~:myname')->type('string')->value($output);

In addition see comment about default incoding in .NET Web Services
below.

=back

To use SOAP::Lite client and .NET server

=over 4

=item declare proper soapAction (uri/method) in your call

For example, use C<on_action(sub{join '', @_})>.

=item qualify all elements

Any of following actions should work:

=over 4

=item use fully qualified name for method parameters

Use C<< SOAP::Data->name('~:Query'  => 'biztalk') >> instead of
C<< SOAP::Data->name('Query'  => 'biztalk') >>.

Example of SOAPsh call (all parameters should be in one line):

  > perl SOAPsh.pl
    "http://beta.search.microsoft.com/search/mscomsearchservice.asmx"

    "http://tempuri.org/"
    "on_action(sub{join '', @_})"
    "GetVocabulary(SOAP::Data->name('~:Query'  => 'biztalk'))"

=item make method in default namespace

instead of

  my @rc = $soap->call(add => @parms)->result;
  # -- OR --
  my @rc = $soap->add(@parms)->result;

use

  my $method = SOAP::Data->name('add')
                         ->attr({xmlns => 'http://tempuri.org/'});
  my @rc = $soap->call($method => @parms)->result;

=item modify .NET server if you are in charge for that

Stefan Pharies <stefanph@...>:

SOAP::Lite uses the SOAP encoding (section 5 of the soap 1.1 spec),
and
the default for .NET Web Services is to use a literal encoding. So
elements in the request are unqualified, but your service expects
them to
be qualified. .Net Web Services has a way for you to change the
expected
message format, which should allow you to get your interop working.
At the top of your class in the asmx, add this attribute:

  [SoapService(Style=SoapServiceStyle.RPC)]

Full Web Service text may look like (as far as I understand the
syntax):

  <%@ WebService Language="C#" Class="Test" %>
  using System.Web.Services;

  [SoapService(Style=SoapServiceStyle.RPC)]
  public class Test : WebService {
    [WebMethod]
    public int add(int a, int b) {
      return a + b;
    }
  }

=back

=back

Thanks to
  Petr Janata <petr.janata@...>,
  Stefan Pharies <stefanph@...>, and
  Brian Jepson <bjepson@...>
for description and examples.

=back


--- priya_m@... wrote:
> Hi ,
> I was wondering if anyone has attempted to access .NET services
> from
> an Apache SOAP client...and if so, whether they wud care to share
> their experiences. I've been trying to  do the same, and found a
> few
> problems, which I also posted to the soap dev newsgroups..and since
> I
> see alot of familiar faces here, shall not repeat that mail.
> Noticed another thing today..I have been attempting to pass a
> string
> parameter to a .NET service...but it was consistently receving a
> null
> instead of the actually param value.
> Used the Messaging classes to construct the payload and send it
> across, experimented with it, and found the following:
>
> a) in the original payload, the body entry for the method name was
> similar to : <ns:sendParam xmlns:ns=blah blah> .... </ns>
> ..and the parameters inside this were not being read correctly by
> .NET
>
> b) I modifed the above like so :
> <sendParam .....blah blah>.... </sendParam>..
> and voila !! it works - .NET is now being able to read the correct
> parameters inside this...
>
> what gives ????
>
> regards,
> Priya
>
>
> ------------------------ Yahoo! Groups Sponsor
>
> To unsubscribe from this group, send an email to:
> soapbuilders-unsubscribe@yahoogroups.com
>
>
>


__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35
a year!  http://personal.mail.yahoo.com/


To unsubscribe from this group, send an email to:
soapbuilders-unsubscribe@yahoogroups.com



#46 From: priya_m@...
Date: Thu Feb 8, 2001 3:08 pm
Subject: Re: .NET interop issues
priya_m@...
Send Email Send Email
 
Hi Tony ,
That's a great idea ....I would love to keep track of the .NET
interoperability stuff...please let me know if I can be of any help.
I have already posted my initial experiences with using a .NET
service from an Apache client on the soap-user@... group
(please refer to the thread " RE: ms soap/ apache").
Shall stay tuned ....good luck !!!

regards,
Priya

--- In soapbuilders@y..., "Tony Hong" <thong@x> wrote:
> Hi all,
>
> As I mentioned earlier I am developing a testbed for testing
> interoperability
> against a number of different implementations. It's still work-in-
progress,
> but I have 4 implementations up and running and I thought this
would be a
> good point to solicit some feedback about what might make this more
useful.
>
> The URL is:
>
> http://www.xmethods.net/ilab/ilab.html
>
> For this pass, I just tried to stick to the basic types that all or
almost
> all
> implementations support.  Other non-standard types will come in
later
> (eg., Apache "map"  encoding, etc)
>
> Per Priya's email, I will be doing .NET in the next set of
implementations,
> so
> hopefully we can all pound on it with our favorite clients and see
what
> other
> interoperability issues fall out.
>
> Thanks in advance for any suggestions for improving this.
>
> Tony
>
> PS Thanks to Simon Fell for building the 4S4C version!
>
>
>   -----Original Message-----
>   From: Paul Kulchenko [mailto:paulclinger@y...]
>   Sent: Wednesday, February 07, 2001 10:02 PM
>   To: soapbuilders@y...
>   Subject: Re: [soapbuilders] .NET interop issues
>
>
>   Hi, Priya!
>
>   Here is details from SOAP::Lite documentation. It's specific to
>   SOAP::Lite implementation, however the same logic will work for
>   ApacheSOAP also and check explanation of Stefan Pharies about .Net
>   behavior. Hope it helps.
>
>   Best wishes, Paul.
>
>   =head2 INTEROPERABILITY
>
>   =over 4
>
>   =item Microsoft's .NET
>
>   To use .NET client and SOAP::Lite server
>
>   =over 4
>
>   =item qualify all elements
>
>   use fully qualified names for your return values, e.g.:
>
>     return
>   SOAP::Data->name('~:myname')->type('string')->value($output);
>
>   In addition see comment about default incoding in .NET Web
Services
>   below.
>
>   =back
>
>   To use SOAP::Lite client and .NET server
>
>   =over 4
>
>   =item declare proper soapAction (uri/method) in your call
>
>   For example, use C<on_action(sub{join '', @_})>.
>
>   =item qualify all elements
>
>   Any of following actions should work:
>
>   =over 4
>
>   =item use fully qualified name for method parameters
>
>   Use C<< SOAP::Data->name('~:Query'  => 'biztalk') >> instead of
>   C<< SOAP::Data->name('Query'  => 'biztalk') >>.
>
>   Example of SOAPsh call (all parameters should be in one line):
>
>     > perl SOAPsh.pl
>       "http://beta.search.microsoft.com/search/mscomsearchservice.as
mx"
>
>       "http://tempuri.org/"
>       "on_action(sub{join '', @_})"
>       "GetVocabulary(SOAP::Data->name('~:Query'  => 'biztalk'))"
>
>   =item make method in default namespace
>
>   instead of
>
>     my @rc = $soap->call(add => @parms)->result;
>     # -- OR --
>     my @rc = $soap->add(@parms)->result;
>
>   use
>
>     my $method = SOAP::Data->name('add')
>                            ->attr({xmlns => 'http://tempuri.org/'});
>     my @rc = $soap->call($method => @parms)->result;
>
>   =item modify .NET server if you are in charge for that
>
>   Stefan Pharies <stefanph@m...>:
>
>   SOAP::Lite uses the SOAP encoding (section 5 of the soap 1.1
spec),
>   and
>   the default for .NET Web Services is to use a literal encoding. So
>   elements in the request are unqualified, but your service expects
>   them to
>   be qualified. .Net Web Services has a way for you to change the
>   expected
>   message format, which should allow you to get your interop
working.
>   At the top of your class in the asmx, add this attribute:
>
>     [SoapService(Style=SoapServiceStyle.RPC)]
>
>   Full Web Service text may look like (as far as I understand the
>   syntax):
>
>     <%@ WebService Language="C#" Class="Test" %>
>     using System.Web.Services;
>
>     [SoapService(Style=SoapServiceStyle.RPC)]
>     public class Test : WebService {
>       [WebMethod]
>       public int add(int a, int b) {
>         return a + b;
>       }
>     }
>
>   =back
>
>   =back
>
>   Thanks to
>     Petr Janata <petr.janata@i...>,
>     Stefan Pharies <stefanph@m...>, and
>     Brian Jepson <bjepson@j...>
>   for description and examples.
>
>   =back
>
>
>   --- priya_m@v... wrote:
>   > Hi ,
>   > I was wondering if anyone has attempted to access .NET services
>   > from
>   > an Apache SOAP client...and if so, whether they wud care to
share
>   > their experiences. I've been trying to  do the same, and found a
>   > few
>   > problems, which I also posted to the soap dev newsgroups..and
since
>   > I
>   > see alot of familiar faces here, shall not repeat that mail.
>   > Noticed another thing today..I have been attempting to pass a
>   > string
>   > parameter to a .NET service...but it was consistently receving a
>   > null
>   > instead of the actually param value.
>   > Used the Messaging classes to construct the payload and send it
>   > across, experimented with it, and found the following:
>   >
>   > a) in the original payload, the body entry for the method name
was
>   > similar to : <ns:sendParam xmlns:ns=blah blah> .... </ns>
>   > ..and the parameters inside this were not being read correctly
by
>   > .NET
>   >
>   > b) I modifed the above like so :
>   > <sendParam .....blah blah>.... </sendParam>..
>   > and voila !! it works - .NET is now being able to read the
correct
>   > parameters inside this...
>   >
>   > what gives ????
>   >
>   > regards,
>   > Priya
>   >
>   >
>   > ------------------------ Yahoo! Groups Sponsor
>   >
>   > To unsubscribe from this group, send an email to:
>   > soapbuilders-unsubscribe@y...
>   >
>   >
>   >
>
>
>   __________________________________________________
>   Do You Yahoo!?
>   Get personalized email addresses from Yahoo! Mail - only $35
>   a year!  http://personal.mail.yahoo.com/
>
>         Yahoo! Groups Sponsor
>
>                     www. .com
>
>
>
>
>   To unsubscribe from this group, send an email to:
>   soapbuilders-unsubscribe@y...

#47 From: priya_m@...
Date: Thu Feb 8, 2001 4:04 pm
Subject: Re: .NET interop issues
priya_m@...
Send Email Send Email
 
Hi Paul ,
Thanks so much for your post...this certainly does clarify things a
little.
I have another question..am not sure if it warrants a new thread..so
I'll just continue with this one...
I've been looking into the possibility of sending and receiving
literal XML data between my Apache SOAP client and .NET webservice.
The .NET web service apparently only allows you to send literal XML
if the data type is an MS "dataset" ....this also bloats up the
response like crazy !! This is what the .NET response looks like :
================================================================
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soap
enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/199
9/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
   <soap:Body>
     <getParamsResponse xmlns="http://tempuri.org/Response">
       <result>
         <xsd:schema id="soapResults" targetNamespace="urn:schema-
params-com-soap
:" xmlns="urn:schema-params-com-soap:"
xmlns:xsd="http://www.w3.org/1999/XMLSche
ma" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
           <xsd:element name="parameters">
             <xsd:complexType content="elementOnly">
               <xsd:all>
                 <xsd:element name="active" minOccurs="0"
type="xsd:string"/>
                 <xsd:element name="visible" minOccurs="0"
type="xsd:string"/>
               </xsd:all>
             </xsd:complexType>
           </xsd:element>
           <xsd:element name="soapResults" msdata:IsDataSet="True">
             <xsd:complexType>
               <xsd:choice maxOccurs="unbounded">
                 <xsd:element ref="parameters"/>
               </xsd:choice>
             </xsd:complexType>
           </xsd:element>
         </xsd:schema>
         <a:soapResults version="0.1" dataFormat="recordSet"
nColumns="1" method=
"getParams" class="IsSOAP.paramsService" nRows="0"
xmlns:a="urn:schema-params-com-soap:">
           <parameters xmlns="">
             <active>yes</active>
             <visible>true</visible>
           </parameters>
         </a:soapResults>
       </result>
     </getParamsResponse>
   </soap:Body>
</soap:Envelope>
=================================================================
..and all this just to return values of the 2 parameters i passed !!
Is there a more generic way of doing this.....?? Is it posible, at
all, to achieve interop as far this is concerned ???

regards,
Priya

--- In soapbuilders@y..., Paul Kulchenko <paulclinger@y...> wrote:
> Hi, Priya!
>
> Here is details from SOAP::Lite documentation. It's specific to
> SOAP::Lite implementation, however the same logic will work for
> ApacheSOAP also and check explanation of Stefan Pharies about .Net
> behavior. Hope it helps.
>
> Best wishes, Paul.
>
> =head2 INTEROPERABILITY
>
> =over 4
>
> =item Microsoft's .NET
>
> To use .NET client and SOAP::Lite server
>
> =over 4
>
> =item qualify all elements
>
> use fully qualified names for your return values, e.g.:
>
>   return
> SOAP::Data->name('~:myname')->type('string')->value($output);
>
> In addition see comment about default incoding in .NET Web Services
> below.
>
> =back
>
> To use SOAP::Lite client and .NET server
>
> =over 4
>
> =item declare proper soapAction (uri/method) in your call
>
> For example, use C<on_action(sub{join '', @_})>.
>
> =item qualify all elements
>
> Any of following actions should work:
>
> =over 4
>
> =item use fully qualified name for method parameters
>
> Use C<< SOAP::Data->name('~:Query'  => 'biztalk') >> instead of
> C<< SOAP::Data->name('Query'  => 'biztalk') >>.
>
> Example of SOAPsh call (all parameters should be in one line):
>
>   > perl SOAPsh.pl
>     "http://beta.search.microsoft.com/search/mscomsearchservice.asmx
"
>
>     "http://tempuri.org/"
>     "on_action(sub{join '', @_})"
>     "GetVocabulary(SOAP::Data->name('~:Query'  => 'biztalk'))"
>
> =item make method in default namespace
>
> instead of
>
>   my @rc = $soap->call(add => @parms)->result;
>   # -- OR --
>   my @rc = $soap->add(@parms)->result;
>
> use
>
>   my $method = SOAP::Data->name('add')
>                          ->attr({xmlns => 'http://tempuri.org/'});
>   my @rc = $soap->call($method => @parms)->result;
>
> =item modify .NET server if you are in charge for that
>
> Stefan Pharies <stefanph@m...>:
>
> SOAP::Lite uses the SOAP encoding (section 5 of the soap 1.1 spec),
> and
> the default for .NET Web Services is to use a literal encoding. So
> elements in the request are unqualified, but your service expects
> them to
> be qualified. .Net Web Services has a way for you to change the
> expected
> message format, which should allow you to get your interop working.
> At the top of your class in the asmx, add this attribute:
>
>   [SoapService(Style=SoapServiceStyle.RPC)]
>
> Full Web Service text may look like (as far as I understand the
> syntax):
>
>   <%@ WebService Language="C#" Class="Test" %>
>   using System.Web.Services;
>
>   [SoapService(Style=SoapServiceStyle.RPC)]
>   public class Test : WebService {
>     [WebMethod]
>     public int add(int a, int b) {
>       return a + b;
>     }
>   }
>
> =back
>
> =back
>
> Thanks to
>   Petr Janata <petr.janata@i...>,
>   Stefan Pharies <stefanph@m...>, and
>   Brian Jepson <bjepson@j...>
> for description and examples.
>
> =back
>
>
> --- priya_m@v... wrote:
> > Hi ,
> > I was wondering if anyone has attempted to access .NET services
> > from
> > an Apache SOAP client...and if so, whether they wud care to share
> > their experiences. I've been trying to  do the same, and found a
> > few
> > problems, which I also posted to the soap dev newsgroups..and
since
> > I
> > see alot of familiar faces here, shall not repeat that mail.
> > Noticed another thing today..I have been attempting to pass a
> > string
> > parameter to a .NET service...but it was consistently receving a
> > null
> > instead of the actually param value.
> > Used the Messaging classes to construct the payload and send it
> > across, experimented with it, and found the following:
> >
> > a) in the original payload, the body entry for the method name
was
> > similar to : <ns:sendParam xmlns:ns=blah blah> .... </ns>
> > ..and the parameters inside this were not being read correctly by
> > .NET
> >
> > b) I modifed the above like so :
> > <sendParam .....blah blah>.... </sendParam>..
> > and voila !! it works - .NET is now being able to read the
correct
> > parameters inside this...
> >
> > what gives ????
> >
> > regards,
> > Priya
> >
> >
> > ------------------------ Yahoo! Groups Sponsor
> >
> > To unsubscribe from this group, send an email to:
> > soapbuilders-unsubscribe@y...
> >
> >
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail - only $35
> a year!  http://personal.mail.yahoo.com/

Messages 18 - 47 of 10831   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help