You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Robert Chilvers <ro...@mtlehman.com> on 2007/03/02 23:02:58 UTC

WSDL2Java Code will not compile

Hi There;

I have a WSDL that I am trying to generate code for in Axis1.4.  The  
WSDL generates code, but the code will not compile.  The WSDL was  
supplied to me by a third party.

The error is the fact that the code generator is creating a class  
called SDD2Error_Element, but my implantation class is looking for a  
file called SDD2Error which it throws as a exception.  The code  
generator does not create a SDD2Error class at all.  My theory is  
that the SDD2Error_Element is supposed to be SDD2Error, but some when  
wrong in the generation.  So I will assume there is something wrong  
with the WSDL, but I can not figure out what is wrong.  I have  
included my WSDL for you, and I am hoping someone will give me some  
help here.


Rob

Re: WSDL2Java Code will not compile

Posted by Anne Thomas Manes <at...@gmail.com>.
Robert,

Both your WSDL and imported schema have errors.

The WSDL does not define its faults properly. The names specified in
the binding must correspond to the names specified in the portType:

The portType is defined as:

        <wsdl:operation name="SDD2TransportOp">
            <wsdl:input message="tns:SDD2TransportSoapIn"/>
            <wsdl:output message="tns:SDD2TransportSoapOut"/>
            <wsdl:fault message="tns:SDD2Error" name="SDD2ErrorFault"/>
        </wsdl:operation>

But the binding is defined as:

            <wsdl:fault name="SDD2ErrorFault">
                <soap:fault name="SDD2Error" namespace="" use="literal"/>
            </wsdl:fault>

The <soap:fault> name should be "SDD2ErrorFault".
Also, you must remove the namespace attribute from the <soap:fault> definition.

As for the schema, it repeatedly defines a set of elements with the
same name, e.g., AppId, RequestId, SourceService, DestService,
ProcessingStatus, etc. In a schema that's defined as
elementFormDefault="qualified", every element must have a unique name.
If you want to use the same element in multiple types, then you must
define the element as a global element (defined as a direct child of
the <schema> element), and use "ref=" to refer to the element from
within a type definition.

Regards,
Anne

On 3/2/07, Robert Chilvers <ro...@mtlehman.com> wrote:
> Hi There;
>
> I have a WSDL that I am trying to generate code for in Axis1.4.  The
> WSDL generates code, but the code will not compile.  The WSDL was
> supplied to me by a third party.
>
> The error is the fact that the code generator is creating a class
> called SDD2Error_Element, but my implantation class is looking for a
> file called SDD2Error which it throws as a exception.  The code
> generator does not create a SDD2Error class at all.  My theory is
> that the SDD2Error_Element is supposed to be SDD2Error, but some when
> wrong in the generation.  So I will assume there is something wrong
> with the WSDL, but I can not figure out what is wrong.  I have
> included my WSDL for you, and I am hoping someone will give me some
> help here.
>
>
> Rob
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org