Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-300

Error deploying process whose WSDL references relative schemas

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.1.1
    • 1.2
    • Deployment
    • 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

          Activity

            People

              mriou Matthieu Riou
              joncoogan Jon Coogan
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: