The QName is created without a NS (see soap snippet because this is
just a test example...) and adding one does not make a difference to
the behaviour described in the message below.
As I said,,, no error or fault is reported...the only sign of a
problem is that a call
useService ( {"one" , "two" } )
creates an object on the server side as
{"two" "two"}
This behaviour is repeated for 2+ arguments with the last argument
setting all values to its value.
thanks in any case Anne.
On 02/08/06, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
Your typeMapping is wrong. The qname attribute must refer to the
qualified name of the element that will appear in the SOAP message
(the xxiddetails element). It should look something like this:
<typeMapping
type="java:org.simple.xxid"
qname="ns:xxiddetails"
xmlns:ns="[your-schemas-targetNamespace]"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
encodingStyle=""
/>
On 8/2/06, John Thompson <[EMAIL PROTECTED]> wrote:
>
> hi!
> I am a newbie to Axis....so sorry if this is a pretty obvious fix.
>
> I have defined a ws service and client that exchange an object that
contains
> two strings.
>
> The service is invoked without a problem and the service executes and
> returns
>
>
> without any fault being created. The problem is that the Java object after
> deserialization is
> corrupted with the pair of strings each set to the same value...which is
the
> 2nd string of the pair.
>
> There is no fault or error signaled.
>
>
>
> Axis Version 1.4 under Linux SuSe 10.1
>
> --- The type (which I simplified because this appears in a larger example.
>
> public class xxid
> {
> private String s1;
> private String s2;
>
>
> ...sets and gets for the class.
>
> }
>
> ---
>
> It is invoked using an Axis call using the code from the user tutorial.
>
> ---
>
> The service is pretty simple
>
> public class example
> {
> public String useService(xxid xxidDetails)
>
>
> {
> return "s1 is = " + xxidDetails.getS1() +
> " S2 = " + xxidDetails.getS2();
> }
> }
> ---
>
> The WSDL is straightforward
>
> <element name="xxiddetails">
>
>
> <complexType>
> <sequence>
> <element name="s1" type="xsd:string"/>
> <element name="s2" type="xsd:string"/>
> </sequence>
>
>
> </complexType>
> </element>
> ---
>
> and has a deployment descriptor (as per tutorial) with a service
> definition...
>
>
> <service name="example" provider="java:RPC" use="literal"
style="document">
>
>
> <parameter name="className" value="org.simple.example"/>
> <wsdlFile>/wsdl/example.wsdl</wsdlFile>
> <parameter name="allowedMethods" value="*"/>
>
>
> <typeMapping
> type="java:org.simple.xxid"
> qname="org.simple.xxid"
> serializer="org.apache.axis.encoding.ser.BeanSerializerFactory
> "
>
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
> encodingStyle=""
> />
> </service>
>
> ----
>
> The soap on the wire looks ok to me also....
>
>
> ----
> <?xml version="1.0" encoding="UTF-8"?>
> <soapenv:Envelope xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/
> "
> xmlns:xsd="http://www.w3.org/2001/XMLSchema
> "
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> ">
> <soapenv:Body>
>
> <useService xsi:type="org.simple.xxid" xmlns="">
> <s1 xsi:type="xsd:string">First</s1>
> <s2 xsi:type="xsd:string">second</s2>
>
>
> </useService>
> </soapenv:Body>
> </soapenv:Envelope>
> ----
>
> Anyone any thoughts as to what is the problem? (As I said the service is
> invoked and executes correctly
>
>
> it is just that the server end object value is corrupted.)
>
> thanks...
>
> TJ
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]