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 bu...@apache.org on 2003/03/05 04:03:26 UTC

DO NOT REPLY [Bug 17655] New: - WSDL generation is broken for DataTypesService

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17655>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17655

WSDL generation is broken for DataTypesService

           Summary: WSDL generation is broken for DataTypesService
           Product: Axis
           Version: current (nightly)
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Major
          Priority: Other
         Component: WSDL processing
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: gdaniels@macromedia.com


Load up the datatypes test (test/wsdl/datatypes).  Try

http://localhost:8080/axis/services/DataTypes?wsdl

Experience the exiting NullPointerException:

    <ns1:stackTrace 
xmlns:ns1="http://xml.apache.org/axis/">java.lang.NullPointerException

	at org.apache.axis.encoding.ser.BeanSerializer.writeSchema
(BeanSerializer.java:370)

	at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1311)

	at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:321)

	at org.apache.axis.wsdl.fromJava.Emitter.createTypes(Emitter.java:634)

	at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:379)

	at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:262)

	at org.apache.axis.providers.java.JavaProvider.generateWSDL
(JavaProvider.java:491)

	at org.apache.axis.strategies.WSDLGenStrategy.visit
(WSDLGenStrategy.java:72)

	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)

	at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:137)

	at org.apache.axis.handlers.soap.SOAPService.generateWSDL
(SOAPService.java:374)

	at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:499)

	at org.apache.axis.transport.http.SimpleAxisWorker.run
(SimpleAxisWorker.java:343)

	at org.apache.axis.transport.http.SimpleAxisServer.run
(SimpleAxisServer.java:173)

	at org.apache.axis.transport.http.SimpleAxisServer.start
(SimpleAxisServer.java:212)

	at org.apache.axis.transport.http.SimpleAxisServer.start
(SimpleAxisServer.java:220)

	at org.apache.axis.transport.http.SimpleAxisServer.main
(SimpleAxisServer.java:283)

</ns1:stackTrace>

Not acceptable.  This problem arises from the same code in JavaBeanHelper 
writer which James "fixed" and then I "unfixed" to fix exactly this problem 
and then was refixed.  Take a look at the generated datatypes/ArrayOfInt and 
ArrayOfOrder classes to see the problem - there's no XmlType set on the 
element fields for the elements inside the array type, and so we end up with 
an NPE.  Don't yet know the right solution for this, but if I manually put the 
setXmlType() statements in, the WSDL gets generated correctly.  We need to get 
this right for all kinds of arrays, and have tests for it, including testing 
WSDL generation.