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 Franz Fehringer <fe...@isogmbh.de> on 2005/11/25 16:01:43 UTC

wsdl2xxx chokes on simple example from w3.org

Hello,

Both wsdl2ws (Axis C/C++ 1.5) and wsdl2java (Axis Java 1.3) fail on the
first example (StockQuote; file attached) of
http://www.w3.org/TR/wsdl
The environmemnt for completeness is Win2K with Java 1.5.0_05.
The problem is that the wsdl2xxx cannot cope with element tags without type
attributes.
The C/C++ wsdl2ws Tool first gives warnings (note the gt sign in front)
java -cp C:\Programme\axis-c-1-5-win32\lib\axis\wsdl2ws.jar;...
org.apache.axis.wsdl.wsdl2ws.WSDL2Ws -ocpp -sclient tro.wsdl
ignoring anonymous type >TradePrice
ignoring anonymous type >TradePriceRequest
and then indeed doesn't generate any source code for TradePrice and
TradePriceRequest.
As i wrote in
http://marc.theaimsgroup.com/?l=axis-c-dev&m=113273914320619&w=2 (with full
example)
with more complex WSDL corrupt C++ source code is generated in this case
declaring and referencing items like (note again the gt sign)
class >t_Warning_Description;
With wsdl2java i get Java source code like (TradePrice.java)
typeDesc.setXmlType(new
javax.xml.namespace.QName("http://example.com/stockquote.xsd",
">TradePrice"));
again with the infamous gt sign.
To fix this, i can either change
           <element name="TradePrice">
              <complexType>
                  <all>
                      <element name="price" type="float"/>
                  </all>
              </complexType>
to
           <complexType name="t_TradePrice">
                  <all>
                      <element name="price" type="float"/>
                  </all>
          </complexType>
	    <element name="TradePrice" type="xsd1:t_TradePrice"/>
or to
           <complexType name="TradePrice">
                  <all>
                      <element name="price" type="float"/>
                  </all>
          </complexType>
and in that case change
       <part name="body" element="xsd1:TradePrice"/>
to
       <part name="body" type="xsd1:TradePrice"/>

Is this a known problem?
Note, that in the W3 example i had to make two small corrections to get it
working:
- Change StockQuoteSoapBinding to StockQuoteBinding
- Replace http://www.w3.org/2000/10/XMLSchema with
http://www.w3.org/2001/XMLSchema

Best regards

Franz

Dr. Franz Fehringer (Dipl. Math.)
____________________________________
ISO Software Systeme
Eichendorffstrasse 29
90491 Nürnberg
Deutschland

Tel. : +49/(911) - 99594-0
Fax  : +49/(911) - 99594-580

mailto:feh@isogmbh.de
http://www.isogmbh.de