You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Volodymir Ilchenko <vi...@novell.com> on 2005/03/24 15:45:39 UTC
UDDI v3 web services with Axis
Hi All,
I'm investigating the possibility to use Axis1.2beta3 & Tomcat5.5.8 as a web service container for a UDDI v3 server. Simple samples provided by Axis Tutorial work perfectly.
I have created a WSDL doc with service description pointing to standard WSDL bindings for UDDI API web services. After processing the WSDL doc with WSDL2Java, I received a set of classes. Then I deployed the web services to Axis. However, they don't work. Neither test succeeds from the generated junit TestCase.
An error is produced:
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
Could you point me to a possible cause of the error?
I have an assumption that WSDL2Java doesn't properly support the syntax of UDDI XML schema (http://uddi.org/schema/uddi_v3.xsd). For instance, it contains xsd:choice expression.
If it turns out that WSDL2Java cannot handle the UDDI XML schema, what workaround/scenario could be applied? Maybe JAXB/XMLBeans?
Thanks in advance.
Volodymyr Ilchenko
Re: UDDI v3 web services with Axis
Posted by Anne Thomas Manes <at...@gmail.com>.
Yes -- there are structures within the UDDI schema that cause
"challenges" for JAX-RPC.
See the JAX-RPC Technical Note:
http://www.oasis-open.org/committees/uddi-spec/doc/tns.htm#jaxrpc11
Anne
On Thu, 24 Mar 2005 15:45:39 +0100, Volodymir Ilchenko
<vi...@novell.com> wrote:
> Hi All,
>
> I'm investigating the possibility to use Axis1.2beta3 & Tomcat5.5.8 as a web service container for a UDDI v3 server. Simple samples provided by Axis Tutorial work perfectly.
>
> I have created a WSDL doc with service description pointing to standard WSDL bindings for UDDI API web services. After processing the WSDL doc with WSDL2Java, I received a set of classes. Then I deployed the web services to Axis. However, they don't work. Neither test succeeds from the generated junit TestCase.
>
> An error is produced:
>
> 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
>
> Could you point me to a possible cause of the error?
> I have an assumption that WSDL2Java doesn't properly support the syntax of UDDI XML schema (http://uddi.org/schema/uddi_v3.xsd). For instance, it contains xsd:choice expression.
>
> If it turns out that WSDL2Java cannot handle the UDDI XML schema, what workaround/scenario could be applied? Maybe JAXB/XMLBeans?
>
> Thanks in advance.
> Volodymyr Ilchenko
>
Re: UDDI v3 web services with Axis
Posted by Davanum Srinivas <da...@gmail.com>.
Volodymir,
Can you please file a bug report? I'd like to see if we can fix this
EVEN if it is not completely compliant to JAXRPC 1.1
thanks,
dims
On Thu, 24 Mar 2005 15:45:39 +0100, Volodymir Ilchenko
<vi...@novell.com> wrote:
> Hi All,
>
> I'm investigating the possibility to use Axis1.2beta3 & Tomcat5.5.8 as a web service container for a UDDI v3 server. Simple samples provided by Axis Tutorial work perfectly.
>
> I have created a WSDL doc with service description pointing to standard WSDL bindings for UDDI API web services. After processing the WSDL doc with WSDL2Java, I received a set of classes. Then I deployed the web services to Axis. However, they don't work. Neither test succeeds from the generated junit TestCase.
>
> An error is produced:
>
> 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
>
> Could you point me to a possible cause of the error?
> I have an assumption that WSDL2Java doesn't properly support the syntax of UDDI XML schema (http://uddi.org/schema/uddi_v3.xsd). For instance, it contains xsd:choice expression.
>
> If it turns out that WSDL2Java cannot handle the UDDI XML schema, what workaround/scenario could be applied? Maybe JAXB/XMLBeans?
>
> Thanks in advance.
> Volodymyr Ilchenko
>
--
Davanum Srinivas - http://webservices.apache.org/~dims/