Anne,

Thanks. But even with that change I get the same
error. It seems that javax.xml.BindingFault.getName()
returns null. I am not sure why it is not picking up
the name attribute. I could not step into that part of
the code which is creating the BindingFault, which is
in the wsdl4j.jar

Thanks,
Shantanu

--- Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
> Shantanu,
> 
> The name= attribute should specify a nmtoken, not a
> QName.
> Therefore your WSDL definition should read:
> 
> <soap:fault  name="MyF"  use="encoded"
> namespace="http://MyService";
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> />
> 
> Regards,
> Anne
> 
> ----- Original Message -----
> From: "Shantanu Sen" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, July 29, 2003 7:05 PM
> Subject: soap fault and WSDL2Java question
> 
> 
> > When I use the following WSDL file, I get this
> error,
> > even though the WSDL is validated by Cape Clear
> WSDL
> > editor, and I see the name attribute is there.
> >
> > java.io.IOException: ERROR: Fault is missing a
> name=
> > attribute in operation "MyOperation", in binding
> > {http://MyService}rpc-encoded.        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(Symb
> > olTable.java:1988)        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.populateBindings(SymbolT
> > able.java:1801)        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
> > a:577)        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:421
> > )        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
> > a:408)        at
> >
>
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
> > a:393)        at
> >
>
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:245)
> >         at java.lang.Thread.run(Thread.java:479)
> >
> > The WSDL file is attadched, but here is the
> relvant
> > section:
> >
> > <binding name="rpc-encoded" type="tns:MyPort">
> >     <soap:binding style="rpc"
> > transport="http://schemas.xmlsoap.org/soap/http"/>
> >     <operation name="MyOperation">
> >       <soap:operation soapAction="MyOperation"/>
> >       <input>
> >         <soap:body use="encoded"
> > namespace="http://MyService";
> >
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
> >       </input>
> >       <output>
> >         <soap:body use="encoded"
> > namespace="http://MyService";
> >
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
> >       </output>
> >       <fault>
> >         <soap:fault  name="tns:MyF"  use="encoded"
> > namespace="http://MyService";
> >
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> > />
> >       </fault>
> >     </operation>
> > </binding>
> >
> >
> > I am declaring the name attribute here, as you can
> > see. But with Axis 1.1 I get the above error. It
> runs
> > fine with Axis 1.0, which, I believe ignores the
> name
> > attribute in a soap fault declaration.
> >
> > Any ideas what I am missing?
> >
> > Thanks,
> > Shantanu Sen
> 
> 
>
----------------------------------------------------------------------------
> ----
> 
> 
> > <?xml version="1.0" ?>
> >
> > <definitions name="http://MyService";
> >              targetNamespace="http://MyService";
> >              xmlns:tns="http://MyService";
> >              xmlns:typens="http://MyService";
> >             
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> >             
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> >             
> xmlns="http://schemas.xmlsoap.org/wsdl/";>
> >
> >   <!-- type defs -->
> >
> >   <!-- message declns -->
> >   <message name="MyRequest">
> >     <part name="subject" type="xsd:string"/>
> >   </message>
> >
> >   <message name="MyResponse">
> >     <part name="confirmation" type="xsd:string"/>
> >   </message>
> >
> >   <message name="MyException">
> >     <part name="exception" type="xsd:string"/>
> >   </message>
> >
> >   <!-- port type declns -->
> >   <portType name="MyPort">
> >     <operation name="MyOperation">
> >       <input message="tns:MyRequest"/>
> >       <output message="tns:MyResponse"/>
> >       <fault name="MyF"
> message="tns:MyException"/>
> >     </operation>
> >   </portType>
> >
> >   <!-- binding declns -->
> >   <binding name="rpc-encoded" type="tns:MyPort">
> >     <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> >     <operation name="MyOperation">
> >       <soap:operation soapAction="MyOperation"/>
> >       <input>
> >         <soap:body use="encoded"
> namespace="http://MyService";
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
> >       </input>
> >       <output>
> >         <soap:body use="encoded"
> namespace="http://MyService";
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
> >       </output>
> >       <fault>
> >         <soap:fault  name="tns:MyF"  use="encoded"
> namespace="http://MyService";
>
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> />
> >       </fault>
> >     </operation>
> >   </binding>
> >
> >   <!-- service decln -->
> >   <service name="MyProvider">
> >     <port name="MyPort" binding="tns:rpc-encoded">
> >       <soap:address
>
location="http://localhost:8084/webservice/Test//Web+Input+Proxy"/>
> >     </port>
> >  </service>
> >
> > </definitions>
> >
> >
> 

Reply via email to