[ 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
