users@jax-rpc.java.net

Re: content of fault message / exception has a "null" message!!

From: Pedro Salazar <pedro-b-salazar_at_ptinovacao.pt>
Date: Fri, 11 Apr 2003 19:15:26 +0100

Doug,

Here goes my WSDL file as you requested. It's a very simple one.

BTW, could you advance a time schedule for the upcoming release of the
JAX-RPC R.I.?

PS

On Fri, 2003-04-11 at 17:40, Doug Kohlert wrote:
> Pedro,
> Can you send me the WSDL you defined? We have done some improvements
> in this area in the upcoming release of JAX-RPC SI and I would like
> see if we covered your case.
>
> Thanks
>
> Pedro Salazar wrote:
> > Greetings,
> >
> > I created a fault message in a WSDL operation which JAX-RPC mapped to a
> > java exception class. However, when in my web service implementation I
> > throw my personalized exception (fault), in my JAX-RPC client, when I
> > retrieve the message (exception.getMessage()), it is a NULL!!
> >
> > thanks,
> > Pedro Salazar.
> > --
> > PS
> > pedro-b-salazar_at_ptinovacao.pt
> > PGP:0E129E31D803BC61
>
>
> --
> Doug Kohlert
> Java Software Division
> Sun Microsystems, Inc.
> phone: 503 345-9806
-- 
PS
pedro-b-salazar_at_ptinovacao.pt
PGP:0E129E31D803BC61


<?xml version="1.0" encoding="UTF-8"?>

<definitions
        name="LocationFinder"
        targetNamespace="http://locawa.eurescom/locationfinder/wsdl"
        xmlns:lf="http://locawa.eurescom/locationfinder/wsdl"
        xmlns="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:ns2="http://locawa.eurescom/locationfinder/types">
        
        <types>
            <schema
                        targetNamespace="http://locawa.eurescom/locationfinder/types"
                        xmlns:lf="http://locawa.eurescom/locationfinder/types"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                        xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
                        xmlns="http://www.w3.org/2001/XMLSchema"
                        elementFormDefault="qualified"
>
                        
                        <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

                        <complexType name="LocationClassesType">
                        <sequence>
                                        <element name="POIClasses" type="lf:ArrayOfPOIClass"/>
                                  <element name="addressClasses" type="lf:ArrayOfstring"/>
                                </sequence>
                        </complexType>

                        <complexType name="ArrayOfPOIClass">
                                <complexContent>
                          <restriction base="soap-enc:Array">
                                                <attribute ref="soap-enc:arrayType"
                                                                wsdl:arrayType="lf:POIClass[]"/>
                                        </restriction>
                                </complexContent>
                        </complexType>
                        
                        <!--<complexType name="POIClassesType">
                                <sequence>
                                        <element name="POICLass" type="lf:POIClass"
                                                        minOccurs="0" maxOcurrs="unbounded"/>
                                </sequence>
                        </complexType>-->
                

                        <complexType name="POIClass">
                        <sequence>
                                        <element name="POIClasses" type="lf:ArrayOfPOIClass"/>
                          <element name="name" type="string"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="ArrayOfstring">
                        <complexContent>
                                  <restriction base="soap-enc:Array">
                                    <attribute ref="soap-enc:arrayType"
                                                                  wsdl:arrayType="string[]"/>
                                        </restriction>
                                  </complexContent>
                         </complexType>
                        
                        <complexType name="Address">
                        <sequence>
                                <element name="type" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="streetName" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="zipCode" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="country" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="locality" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="id" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="InfluenceArea">
                        <sequence>
                          <element name="buffer" type="float"/>
                          <element name="position" type="lf:Position"/>
                                <element name="units" type="lf:Units"/>
                                </sequence>
                        </complexType>

                        <simpleType name="Units" >
                                <restriction base="string">
                                        <enumeration value="M" />
                                        <enumeration value="KM" />
                                </restriction>
                        </simpleType>
                        
                        <complexType name="Position">
                        <sequence>
                                <element name="system" type="lf:SystemCoords"/>
                                <element name="point" type="lf:Point"/>
                                </sequence>
                         </complexType>
                        
                        <simpleType name="SystemCoords" >
                                <restriction base="string">
                                        <enumeration value="WGS84" />
                                </restriction>
                        </simpleType>
                
                        <complexType name="Point">
                        <sequence>
                                  <element name="y" type="double"/>
                                  <element name="x" type="double"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="BufferImage">
                        <sequence>
                          <element name="width" type="int"/>
                          <element name="height" type="int"/>
                          <element name="buffer" type="float"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="ArrayOfLocation">
                                <complexContent>
                          <restriction base="soap-enc:Array">
                            <attribute ref="soap-enc:arrayType"
                                                        wsdl:arrayType="lf:Location[]"/>
                                                </restriction>
                                 </complexContent>
                        </complexType>
                        
                        <complexType name="Location">
                        <sequence>
                                  <element name="geometry" type="lf:Geometry"/>
                                        <element name="system" type="lf:SystemCoords"/>
                                        <element name="address" type="lf:Address"
                                                minOccurs="0" maxOcurrs="1"/>
                                        <element name="bufferImageUrl" type="string"
                                                minOccurs="0" maxOcurrs="1"/>
                                </sequence>
                        </complexType>
                        
                        <complexType name="Geometry">
                                <sequence>
                                <element name="line" type="lf:Line"
                                                minOccurs="0" maxOcurrs="1"/>
                                <element name="point" type="lf:Point"
                                                minOccurs="0" maxOcurrs="1"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="Line">
                        <sequence>
                          <element name="points" type="lf:ArrayOfPoint"/>
                                </sequence>
                         </complexType>
                        
                        <complexType name="ArrayOfPoint">
                        <complexContent>
                                        <restriction base="soap-enc:Array">
                                    <attribute ref="soap-enc:arrayType"
                                                        wsdl:arrayType="lf:Point[]"/>
                                        </restriction>
                                </complexContent>
                         </complexType>
                </schema>
        </types>
        
        <message name="LocationFinder_getLocationClasses"/>
          <message name="LocationFinder_getLocationClassesResponse">
                <part name="result" type="ns2:LocationClassesType" />
        </message>
        
        <message name="LocationFinder_getLocationByAddress">
                <part name="address" type="ns2:Address"/>
                <part name="user" type="xsd:string"/>
                <part name="influenceArea" type="ns2:InfluenceArea"/>
                <part name="bufferImage" type="ns2:BufferImage"/>
        </message>
        <message name="LocationFinder_getLocationByAddressResponse">
            <part name="result" type="ns2:ArrayOfLocation"/>
        </message>
        
        <message name="LocationFinder_getLocationByPOIClass">
                <part name="POIClass" type="ns2:POIClass"/>
                <part name="user" type="xsd:string"/>
                <part name="bufferImage" type="ns2:BufferImage"/>
        </message>
          <message name="LocationFinder_getLocationByPOIClassResponse">
           <part name="result" type="ns2:ArrayOfLocation"/>
        </message>

        <message name="LocationFinderException">
                <part name="message" type="xsd:string" />
        </message>
        
        <portType name="LocationFinder">
                          
                <operation name="getLocationClasses" parameterOrder="">
              <input message="lf:LocationFinder_getLocationClasses"/>
                <output message="lf:LocationFinder_getLocationClassesResponse"/>
                <fault name="LocationFinderException"
                        message="lf:LocationFinderException"/>
                 </operation>
                
                <operation name="getLocationByAddress"
                        parameterOrder="address user influenceArea bufferImage">
              <input message="lf:LocationFinder_getLocationByAddress"/>
              <output message="lf:LocationFinder_getLocationByAddressResponse"/>
                <fault name="LocationFinderException"
                        message="lf:LocationFinderException"/>
                 </operation>
                
                <operation name="getLocationByPOIClass"
                        parameterOrder="POIClass user bufferImage">
              <input message="lf:LocationFinder_getLocationByPOIClass"/>
              <output message="lf:LocationFinder_getLocationByPOIClassResponse"/>
                <fault name="LocationFinderException"
                        message="lf:LocationFinderException"/>
                </operation>
                
        </portType>
        
        <binding name="LocationFinderBinding" type="lf:LocationFinder">
                          
                <operation name="getLocationClasses">
              <input>
                                <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                        </input>
              <output>
                                <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                </output>
                <fault name="LocationFinderException">
                        <soap:fault
                                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="encoded"
                                namespace="http://locawa.eurescom/locationfinder/wsdl" />
                </fault>
              <soap:operation soapAction=""/>
                </operation>
                
                <operation name="getLocationByAddress">
              <input>
                        <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                        </input>
              <output>
                        <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                        </output>
                <fault name="LocationFinderException">
                        <soap:fault
                                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="encoded"
                                namespace="http://locawa.eurescom/locationfinder/wsdl" />
                </fault>
              <soap:operation soapAction=""/>
                 </operation>
                
                <operation name="getLocationByPOIClass">
              <input>
                                <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                        </input>
              <output>
                        <soap:body
                                        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                        use="encoded"
                                        namespace="http://locawa.eurescom/locationfinder/wsdl"/>
                        </output>
                <fault name="LocationFinderException">
                        <soap:fault
                                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                                use="encoded"
                                namespace="http://locawa.eurescom/locationfinder/wsdl" />
                </fault>
                        
                        <soap:operation soapAction=""/>
                 </operation>
                
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
                                  style="rpc"/>
        </binding>
                
        <service name="LocationFinder">
                          
                <port name="LocationFinderPort" binding="lf:LocationFinderBinding">
              <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
                </port>
        
        </service>

</definitions>