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 "Volodymyr Ilchenko (JIRA)" <ax...@ws.apache.org> on 2005/03/25 20:43:17 UTC

[jira] Created: (AXIS-1901) Implementation of the standard UDDI v.3 API web services with Axis fails

Implementation of the standard UDDI v.3 API web services with Axis fails
------------------------------------------------------------------------

         Key: AXIS-1901
         URL: http://issues.apache.org/jira/browse/AXIS-1901
     Project: Axis
        Type: Bug
  Components: Serialization/Deserialization, WSDL processing  
    Versions: 1.2RC3    
 Environment: Linux, Tomcat 5.5.8, Java 1.4.2_06
    Reporter: Volodymyr Ilchenko


I was investigating how Axis 1.2RC3 could be used to implement UDDI v.3 API web-services. UDDI provides WSDL files at http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv3 . There is also a slightly modified schema (without xsd:choice elements) at http://www.oasis-open.org/committees/uddi-spec/doc/tns.htm#jaxrpc11 .

I did the following:

1. Generate Java classes from WSDL with WSDL2Java tool:
  java org.apache.axis.wsdl.WSDL2Java -o src -t -s file:uddi_v3_service.wsdl
where uddi_v3_service.wsdl is taken from http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-jax-rpc-20050126/wsdl/uddi_v3_service.wsdl

2. Compile the generated sources. The compilation fails in the test case: the CompletionStatus class is instantiated with a simple constructor while it has a protected constructor which requires a string parameter. I change the instantiation into a CompletionSrarus.value1 const final field.

3. Implement a simple test method and a corresponding server implementation.

4. Deploy the web services with AdminClient:
  org.apache.axis.client.AdminClient src/null/deploy.wsdd
The deployment succeeds.

5. Run the test. The test fails with an exception in the Tomcat log.

6. Also an exception is generated if the web service is requested to generate a WSDL (with ?wsdl URL parameter).

The following exceptions occur:
===============================
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: makeTypeElement() was told to create a type "{urn:uddi-org:api_v3}>authInfo", with no containing element
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1723)
        at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
        at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
        at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
        at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
        at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
        at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
        at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
        at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
        at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
        at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
        at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
        at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
        ... 23 more
===============================
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)
Caused by: Bean attribute _value is of type java.lang.String, which is not a simple type
        at org.apache.axis.encoding.ser.SimpleSerializer.writeSchema(SimpleSerializer.java:252)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
        at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
        at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
        at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
        at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
        at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
        at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
        at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
        at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
        at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
        at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
        at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
        at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
        at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
        at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
        at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
        at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
        at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
        ... 23 more
===============================



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1901) Implementation of the standard UDDI v.3 API web services with Axis fails

Posted by "Tom Jordahl (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS-1901?page=comments#action_61641 ]
     
Tom Jordahl commented on AXIS-1901:
-----------------------------------

Sounds like the service is really a wrapped document/literal and there is a problem with that processing.

Note that I recently (last week) fixed a problem with choice elements in wrapped doc/lit services causing the wrong thing to happen.  That fix might help this bug (although I don't think it will fix it).


> Implementation of the standard UDDI v.3 API web services with Axis fails
> ------------------------------------------------------------------------
>
>          Key: AXIS-1901
>          URL: http://issues.apache.org/jira/browse/AXIS-1901
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>     Versions: 1.2RC3
>  Environment: Linux, Tomcat 5.5.8, Java 1.4.2_06
>     Reporter: Volodymyr Ilchenko

>
> I was investigating how Axis 1.2RC3 could be used to implement UDDI v.3 API web-services. UDDI provides WSDL files at http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv3 . There is also a slightly modified schema (without xsd:choice elements) at http://www.oasis-open.org/committees/uddi-spec/doc/tns.htm#jaxrpc11 .
> I did the following:
> 1. Generate Java classes from WSDL with WSDL2Java tool:
>   java org.apache.axis.wsdl.WSDL2Java -o src -t -s file:uddi_v3_service.wsdl
> where uddi_v3_service.wsdl is taken from http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-jax-rpc-20050126/wsdl/uddi_v3_service.wsdl
> 2. Compile the generated sources. The compilation fails in the test case: the CompletionStatus class is instantiated with a simple constructor while it has a protected constructor which requires a string parameter. I change the instantiation into a CompletionSrarus.value1 const final field.
> 3. Implement a simple test method and a corresponding server implementation.
> 4. Deploy the web services with AdminClient:
>   org.apache.axis.client.AdminClient src/null/deploy.wsdd
> The deployment succeeds.
> 5. Run the test. The test fails with an exception in the Tomcat log.
> 6. Also an exception is generated if the web service is requested to generate a WSDL (with ?wsdl URL parameter).
> The following exceptions occur:
> ===============================
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
>         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: makeTypeElement() was told to create a type "{urn:uddi-org:api_v3}>authInfo", with no containing element
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1723)
>         at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
>         at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
>         at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
>         at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
>         at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
>         at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
>         at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
>         at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
>         at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
>         at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
>         ... 23 more
> ===============================
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
>         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: Bean attribute _value is of type java.lang.String, which is not a simple type
>         at org.apache.axis.encoding.ser.SimpleSerializer.writeSchema(SimpleSerializer.java:252)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
>         at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
>         at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
>         at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
>         at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
>         at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
>         at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
>         at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
>         at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
>         at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
>         ... 23 more
> ===============================

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1901) Implementation of the standard UDDI v.3 API web services with Axis fails

Posted by "Volodymyr Ilchenko (JIRA)" <ax...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS-1901?page=comments#action_61634 ]
     
Volodymyr Ilchenko commented on AXIS-1901:
------------------------------------------

The problem seems to be with the binding style. The UDDI WSDLs don't specify style for the bindings. Thus, Axis assumes the default style, which is 'document'. If I explicitly specify the style to be 'rpc', then all the tests (except retrieving WSDLs) succeed.


Old uddi_api_v3_binding.wsdl:
=== snip ===
<binding name="UDDI_Inquiry_SoapBinding" type="uddi_api_v3_portType:UDDI_Inquiry_PortType">
	<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="find_binding">
=== snip ===


New uddi_api_v3_binding.wsdl:
=== snip ===
<binding name="UDDI_Inquiry_SoapBinding" type="uddi_api_v3_portType:UDDI_Inquiry_PortType">
	<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
		<operation name="find_binding">
=== snip ===

Anyway the problem remains for 'document' style.

> Implementation of the standard UDDI v.3 API web services with Axis fails
> ------------------------------------------------------------------------
>
>          Key: AXIS-1901
>          URL: http://issues.apache.org/jira/browse/AXIS-1901
>      Project: Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>     Versions: 1.2RC3
>  Environment: Linux, Tomcat 5.5.8, Java 1.4.2_06
>     Reporter: Volodymyr Ilchenko

>
> I was investigating how Axis 1.2RC3 could be used to implement UDDI v.3 API web-services. UDDI provides WSDL files at http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm#uddiv3 . There is also a slightly modified schema (without xsd:choice elements) at http://www.oasis-open.org/committees/uddi-spec/doc/tns.htm#jaxrpc11 .
> I did the following:
> 1. Generate Java classes from WSDL with WSDL2Java tool:
>   java org.apache.axis.wsdl.WSDL2Java -o src -t -s file:uddi_v3_service.wsdl
> where uddi_v3_service.wsdl is taken from http://www.oasis-open.org/committees/uddi-spec/doc/tn/uddi-spec-tc-tn-jax-rpc-20050126/wsdl/uddi_v3_service.wsdl
> 2. Compile the generated sources. The compilation fails in the test case: the CompletionStatus class is instantiated with a simple constructor while it has a protected constructor which requires a string parameter. I change the instantiation into a CompletionSrarus.value1 const final field.
> 3. Implement a simple test method and a corresponding server implementation.
> 4. Deploy the web services with AdminClient:
>   org.apache.axis.client.AdminClient src/null/deploy.wsdd
> The deployment succeeds.
> 5. Run the test. The test fails with an exception in the Tomcat log.
> 6. Also an exception is generated if the web service is requested to generate a WSDL (with ?wsdl URL parameter).
> The following exceptions occur:
> ===============================
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
>         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: makeTypeElement() was told to create a type "{urn:uddi-org:api_v3}>authInfo", with no containing element
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1723)
>         at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
>         at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
>         at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
>         at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
>         at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
>         at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
>         at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
>         at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
>         at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
>         at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
>         ... 23 more
> ===============================
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1116)
>         at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:224)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: Bean attribute _value is of type java.lang.String, which is not a simple type
>         at org.apache.axis.encoding.ser.SimpleSerializer.writeSchema(SimpleSerializer.java:252)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeType(Types.java:972)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeField(BeanSerializer.java:422)
>         at org.apache.axis.encoding.ser.BeanSerializer.writeSchema(BeanSerializer.java:350)
>         at org.apache.axis.wsdl.fromJava.Types.makeTypeElement(Types.java:1774)
>         at org.apache.axis.wsdl.fromJava.Types.writeTypeForPart(Types.java:395)
>         at org.apache.axis.wsdl.fromJava.Types.writeWrappedParameter(Types.java:582)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeWrapperPart(Emitter.java:1654)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeRequestMessage(Emitter.java:1451)
>         at org.apache.axis.wsdl.fromJava.Emitter.writeMessages(Emitter.java:1087)
>         at org.apache.axis.wsdl.fromJava.Emitter.writePortType(Emitter.java:1056)
>         at org.apache.axis.wsdl.fromJava.Emitter.getWSDL(Emitter.java:471)
>         at org.apache.axis.wsdl.fromJava.Emitter.emit(Emitter.java:322)
>         at org.apache.axis.providers.BasicProvider.generateWSDL(BasicProvider.java:237)
>         at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>         at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
>         at org.apache.axis.handlers.soap.SOAPService.generateWSDL(SOAPService.java:321)
>         at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:467)
>         at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
>         ... 23 more
> ===============================

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira