Error deploying process whose WSDL references relative schemas
--------------------------------------------------------------
Key: ODE-300
URL: https://issues.apache.org/jira/browse/ODE-300
Project: ODE
Issue Type: Bug
Components: Deployment
Affects Versions: 1.1.1
Reporter: Jon Coogan
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.