[
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