The method signature that I use is:

         public HitList search (Vector criteria) {
                .....
         }

When I call this method, I pass a Vector which contains a Criterion object
that contains String fields such as name, search values, etc.


The SOAP message is as below:
---------------------------------- 
POST /odtest/servlet/rpcrouter HTTP/1.0
Host: arcdev99:20400
Content-Type: text/xml; charset=utf-8
Content-Length: 494
SOAPAction: ""

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
<SOAP-ENV:Body>
<ns1:search xmlns:ns1="urn:archive-service"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
<criteria xmlns:ns2="http://xml.apache.org/xml-soap"; xsi:type="ns2:Vector">
</criteria>
</ns1:search>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

---------------------------------------------------------------------------

The response a HitList object that contains a Vector and String arrays.
Objects in this vector contain lot of String fields.
These String fields all get shown with <item> tag. Why is response ok but
not request?

Any hints?







-----Original Message-----
From: Scott Nichol [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, September 17, 2002 4:52 PM
To: [EMAIL PROTECTED]
Subject: Re: Must use TcpTunnelGui on the same machine? how is Vector
represented in Soap?


> Another question is that I send a Vector of application objects. In the
> request that I can get from the TcpTunnelGui uses the following line to
> reprents this vector:
>
> <criteria xmlns:ns2="http://xml.apache.org/xml-soap";
xsi:type="ns2:Vector">
>
> So cann't I see each individual objects? Are they be transferred as binary
> data as POST data?

Hmmm.  You should also see a </criteria>.  Everything between the two tags
is the contents of the vector.  For example, I believe a Vector of strings
looks something like

<myVector...>
<item xsi:type="xsd:string">
String1
</item>
<item xsi:type="xsd:string">
String2
</item>
</myVector>

Note that if you want to interoperate nicely with SOAP implementations other
than Apache SOAP, you should use arrays instead of Vectors.  Arrays are
defined by the SOAP spec.  Vectors are a compound type defined by Apache
SOAP.

Scott Nichol



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to