Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.1.1
-
None
Description
There appears to be bug in the way Ode resolves relative URIs at deploy time.
I am getting an error when I try to deploy a process whose wsdl references a schema file in another directory. That schema file references a 2nd schema file in the same directory:
test-9 (dir)
- test.bpel
- test.wsdl
- deploy.xml
imports (dir)
schemas (dir) - schema1.xsd
- schema2.xsd
So test.wsdl references "imports/schemas/schema1.xsd" and schema1.xsd references "schema2.xsd". When I try to deploy I get this exception...
INFO [ProcessManagementImpl]: Deploying package: test ERROR [ODEAxisService]: Exception resolving entity:
schemaLocation=schema2.xsd baseUri=file:/C:/processes/test-9/test.wsdl
java.io.FileNotFoundException: C:\processes\test-9\schema2.xsd (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at org.apache.ode.axis2.util.Axis2UriResolver.resolveEntity(Axis2UriResolver.java:41)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1872)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1902)
at org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:1627)
at org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:175)
at org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:82)
at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:359)
at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:304)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1884)
at org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1902)
at org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:1627)
at org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:175)
at org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:347)
at org.apache.axis2.description.WSDLToAxisServiceBuilder.getXMLSchema(WSDLToAxisServiceBuilder.java:140)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.copyExtensibleElements(WSDL11ToAxisServiceBuilder.java:2186)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.processTypes(WSDL11ToAxisServiceBuilder.java:306)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.processTypes(WSDL11ToAxisServiceBuilder.java:297)
at org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:265)
at org.apache.ode.axis2.hooks.ODEAxisService.createService(ODEAxisService.java:79)
at org.apache.ode.axis2.ODEServer.createService(ODEServer.java:306)
at org.apache.ode.axis2.BindingContextImpl.activateMyRoleEndpoint(BindingContextImpl.java:59)
at org.apache.ode.bpel.engine.BpelProcess.activate(BpelProcess.java:500)
at org.apache.ode.bpel.engine.BpelEngineImpl.registerProcess(BpelEngineImpl.java:232)
at org.apache.ode.bpel.engine.BpelServerImpl.register(BpelServerImpl.java:282)
at org.apache.ode.axis2.ODEServer.handleEvent(ODEServer.java:543)
at org.apache.ode.axis2.ODEServer.access$100(ODEServer.java:73)
at org.apache.ode.axis2.ODEServer$ProcessStoreListenerImpl.onProcessStoreEvent(ODEServer.java:529)
at org.apache.ode.store.ProcessStoreImpl.fireEvent(ProcessStoreImpl.java:501)
at org.apache.ode.store.ProcessStoreImpl.fireStateChange(ProcessStoreImpl.java:507)
at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:284)
...
So it appears that it is trying to resolve schema2.xsd relative to test.bpel. It should be relative to schema1.xsd.
Attachments
Issue Links
- duplicates
-
ODE-241 An xsd including another xsd throws a NPE on deployment
- Resolved