[ http://issues.apache.org/jira/browse/AXIS2-647?page=comments#action_12377585 ]
Thilo Frotscher commented on AXIS2-647: --------------------------------------- Did you only try to generate the code? Or did you actually deploy the service and use the generated stub to send a message to the service? Code generation works fine for me as well. However, after deploying the service and using the stub to send a message, I get an "Unbound namespace URI" exception if my WSDL imports a schema which imports a second schema. After moving all types from the second schema to the first schema and restarting WSDL2Java everything works fine... That's why I think that there's a bug in how WSDL2Java deals with schemas that import other schemas. I tested the latest sources from SVN and the problem is still there. Here's the stack trace: org.apache.axis2.AxisFault: Unbound namespace URI 'http://www.frotscher.com/ws/Restaurant' at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:287) at org.apache.axis2.RestaurantServiceStub.GetMenuList(RestaurantServiceStub.java:113) at com.frotscher.restaurant.client.MyServiceClient.testADB(MyServiceClient.java:40) at com.frotscher.restaurant.client.MyServiceClient.main(MyServiceClient.java:85) Caused by: java.lang.Exception: org.apache.axis2.AxisFault: Unbound namespace URI 'http://www.frotscher.com/ws/Restaurant'; nested exception is: javax.xml.stream.XMLStreamException: Unbound namespace URI 'http://www.frotscher.com/ws/Restaurant' at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:219) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:589) at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:43) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:454) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:136) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) 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:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 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: javax.xml.stream.XMLStreamException: Unbound namespace URI 'http://www.frotscher.com/ws/Restaurant' at com.ctc.wstx.sw.SimpleNsStreamWriter.writeStartOrEmpty(SimpleNsStreamWriter.java:240) at com.ctc.wstx.sw.BaseNsStreamWriter.writeStartElement(BaseNsStreamWriter.java:273) at org.apache.axiom.om.impl.MTOMXMLStreamWriter.writeStartElement(MTOMXMLStreamWriter.java:87) at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeElement(StreamingOMSerializer.java:123) at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serializeNode(StreamingOMSerializer.java:73) at org.apache.axiom.om.impl.serialize.StreamingOMSerializer.serialize(StreamingOMSerializer.java:56) at org.apache.axiom.om.impl.util.OMSerializerUtil.serializeByPullStream(OMSerializerUtil.java:315) at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OMElementImpl.java:790) at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSerialize(SOAPEnvelopeImpl.java:171) at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerializeAndConsume(OMElementImpl.java:809) at org.apache.axiom.om.impl.llom.OMNodeImpl.serializeAndConsume(OMNodeImpl.java:381) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:256) at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:210) ... 21 more at org.apache.axis2.AxisFault.<init>(AxisFault.java:159) ... 4 more > "Unbound namespace URI" when generating code for ADB and using chained schema > imports > ------------------------------------------------------------------------------------- > > Key: AXIS2-647 > URL: http://issues.apache.org/jira/browse/AXIS2-647 > Project: Apache Axis 2.0 (Axis2) > Type: Bug > Environment: Axis2 1.0 RC4 > Reporter: Thilo Frotscher > Attachments: Restaurant.xsd, RestaurantMessages.xsd, RestaurantService.aar, > RestaurantService.wsdl, restaurant-client-src.zip, restaurant-src.zip > > My scenario is as follows: > - I defined the datatypes for my sample application in file Restaurant.xsd > and namespace R1 > - I defined the messages for communication with the RestaurantService in file > RestaurantMessages.xsd and namespace R2 > - RestaurantMessages.xsd imports Restaurant.xsd, since the messages make use > of the basic datatypes. > - My WSDL imports RestaurantMessages.xsd > - WS-I test tools show that this WSDL complies to BP > - This scenario worked nicely with Axis 1.3 > I generated service and client code for this WSDL with WSDL2Java and ADB > option. When I send a message to the service using the generated proxy, I get > an "Unbound namespace URI" error for namespace R1( ! ) on the server side. > That is interesting, because the messages that are sent back and forth are > all in namespace R2 and my request message does not contain any reference to > R1 whatsoever. However, the response message (R2) is supposed to contain > types defined in Restaurant.xsd. > > If I move all the datatype definitions from file Restaurant.xsd into > RestaurantMessages.xsd and thus from R1 to R2, everything works fine. > Apparently Axis2 / ADB has issues with chained imports, perhaps only if not > all of the imports belong to the same namespace. -- 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 - For more information on JIRA, see: http://www.atlassian.com/software/jira
