aspose file tools*
The moose likes Web Services and the fly likes Why WSDL2Java says so? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Web Services
Bookmark "Why WSDL2Java says so?" Watch "Why WSDL2Java says so?" New topic
Author

Why WSDL2Java says so?

Pengju Cheng
Greenhorn

Joined: Dec 30, 2009
Posts: 2
I'm trying to use Axis1.4 to generate some proxy class to try my luck but I got this error:

......
[Loaded java.text.MessageFormat$Field from shared objects file]
java.io.IOException: Element myException is referenced but not defined.
at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:670)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545
)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:518)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:495)
at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
at java.lang.Thread.run(Unknown Source)


However, the wsdl file I have does contain the following part, isn't it the definition?

<wsdl:types>
<xsd:schema targetNamespace="urn:Genus" xmlns:cmi="urn:Genus">
<!-- fault element -->
<xsd:element name="myException">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="faultcode" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
<xsd:element name="faultstring" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
<xsd:element name="detail" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="false"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>

Ivan Krizsan
Ranch Hand

Joined: Oct 04, 2006
Posts: 2198
    
    1
Hi!
It is difficult to tell from your posting, since you have only included a section of the WSDL.
When you define a fault of an operation, you first have to define:
1. The type of the fault message.
This is what you have done in the <wsdl:types> element you have enclosed.
2. The fault message.
This is done in a <wsdl:message> element located AFTER the <wsdl:types> element in your WSDL.

When the above two definitions are in place, you can refer to the MESSAGE from the <wsdl:fault> element of the operation which may respond with the fault.
Do not forget to include the namespace prefix when you refer to the message, if it is not in the default namespace!
See: http://www.w3.org/TR/wsdl#_request-response
Best wishes!
Dan Drillich
Ranch Hand

Joined: Jul 09, 2001
Posts: 1180
Similar errors at WSDL2Java Error (Element is referenced but not defined) and Mailing list archives.

Regards,
Dan


William Butler Yeats: All life is a preparation for something that probably will never happen. Unless you make it happen.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why WSDL2Java says so?