You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Olivier Gauwin <ga...@campus.dtrd.de> on 2002/12/18 10:50:48 UTC

simple "simpleType" redefinition

Hi,

This problem seems really easy but I can't find a solution...

I try to use this WSDL type :
<xsd:simpleType name="Interop.Number">
    <xsd:restriction base="xsd:int"/>
</xsd:simpleType>

I use this Typemapping :
<typeMapping
       xmlns:ns="http://Interop/xsd"
       qname="ns:Interop.Number"
        type="java:Interop.Number"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>

The SOAP request looks like :
<multiRef xsi:type="ns2:Interop.Number" ...>12</multiRef>

I've tried  to use (on the server side) these 2 methods :

- public Interop.Number echo(Interop.Number nb) {...}
raises:
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: java.lang.NullPointerException
 faultActor: null
 faultDetail:
        stackTrace: java.lang.NullPointerException
        at 
org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:223)
        at 
org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:495)
        ...
This NullPointerException is raised by Axis, not by the method code (it 
is not executed at all).

and

- public int echo(int nb) {...}
raises:
AxisFault
 faultCode: {http://xml.apache.org/axis/}Server.userException
 faultString: org.xml.sax.SAXException: Bad types (class Interop.Number 
-> int)
 faultActor: null
 faultDetail:
        stackTrace: org.xml.sax.SAXException: Bad types (class 
Interop.Number -&gt; int)
        at 
org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:285)
        ...
which is quite logical.

Any pointer would be apprecated...
Thanks,

Olivier.


Re: simple "simpleType" redefinition

Posted by Olivier Gauwin <ga...@campus.dtrd.de>.
If it can help someone :
The solution was to use a Simple(De)SerializerFactory instead of a 
Bean(De)SerializerFactory, with the first signature I've tested on the 
server side.


Olivier Gauwin wrote:

> Hi,
>
> This problem seems really easy but I can't find a solution...
>
> I try to use this WSDL type :
> <xsd:simpleType name="Interop.Number">
>    <xsd:restriction base="xsd:int"/>
> </xsd:simpleType>
>
> I use this Typemapping :
> <typeMapping
>       xmlns:ns="http://Interop/xsd"
>       qname="ns:Interop.Number"
>        type="java:Interop.Number"
>        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
>        
> deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
>        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> />
>
> The SOAP request looks like :
> <multiRef xsi:type="ns2:Interop.Number" ...>12</multiRef>
>
> I've tried  to use (on the server side) these 2 methods :
>
> - public Interop.Number echo(Interop.Number nb) {...}
> raises:
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Server.userException
> faultString: java.lang.NullPointerException
> faultActor: null
> faultDetail:
>        stackTrace: java.lang.NullPointerException
>        at 
> org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:223) 
>
>        at 
> org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:495) 
>
>        ...
> This NullPointerException is raised by Axis, not by the method code 
> (it is not executed at all).
>
> and
>
> - public int echo(int nb) {...}
> raises:
> AxisFault
> faultCode: {http://xml.apache.org/axis/}Server.userException
> faultString: org.xml.sax.SAXException: Bad types (class Interop.Number 
> -> int)
> faultActor: null
> faultDetail:
>        stackTrace: org.xml.sax.SAXException: Bad types (class 
> Interop.Number -&gt; int)
>        at 
> org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:285)
>        ...
> which is quite logical.
>
> Any pointer would be apprecated...
> Thanks,
>
> Olivier.
>
>
>