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/