ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: wsdl import problem
Date Wed, 17 Oct 2007 14:17:17 GMT
On 10/17/07, Dietmar Wolz <drdietmarwolz@yahoo.de> wrote:
>
> Got a problem deploying a process to ODE 1.1
> related to the following scenario:
>
> A bpel file imports a wsdl which contains further
> imports of another
> wsdl file. The root wsdl uses xml element types
> defined in
> the imported wsdl file.
>
> ------------root wsdl
> file-------------------------------------------
> <?xml version="1.0"?>
> <definitions
> xmlns:tns="http://sopera.org/process/HelloLibrary"
> xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:svn="http://types.sopware.org/demos/Library/ProcessCommon/1.0"
>
> targetNamespace="http://sopera.org/process/HelloLibrary"
>
> name="HelloLibraryProcess">
>         <import
> namespace="http://types.sopware.org/demos/Library/ProcessCommon/1.0"
> location="LibraryCommon.wsdl"/>
>         <types>
>                 <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
>
> targetNamespace="http://sopera.org/process/HelloLibrary"
>
>                 xmlns="http://www.w3.org/2001/XMLSchema">
>                         ...
> --------------------------------------------------------------
>
> Deploying the process I get the following error
> message:
>
>
> --------------------------------------------------------------------------------
>
>
> file:/D:/Tomcat55/webapps/ode/WEB-INF/processes/HelloLibraryProcess/HelloLibraryProcess.wsdl:0:
> error: [SchemaEr
> ror] Error in schema processing: src-resolve.4.2:
> Error resolving component 'svn:IDType'. It was
> detected that 'svn:IDTy
> pe' is in namespace
> 'http://types.sopware.org/demos/Library/ProcessCommon/1.0',
> but components from this namespace are n
> ot referenceable from schema document
>
> 'file:/D:/Tomcat55/webapps/ode/WEB-INF/processes/HelloLibraryProcess/HelloLibraryP
> rocess.wsdl'. If this is the incorrect namespace,
> perhaps the prefix of 'svn:IDType' needs to be
> changed. If this is the
> correct namespace, then an appropriate 'import' tag
> should be added to
> 'file:/D:/Tomcat55/webapps/ode/WEB-INF/processes
> /HelloLibraryProcess/HelloLibraryProcess.wsdl'.
>
>         at
> org.apache.ode.bpel.compiler.BpelCompiler.compile(BpelCompiler.java:726)
>         at
> org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:260)
>         at
> org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:330)
>         at
> org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:161)
>         at
> org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:125)
>         at
> org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:165)
> ------------------------------------------------------------
>
>
> After some debugging I tracked down the source of the
> problem,
> in org.apache.xerces.impl.xs.traversers.XSDHandler
> the routine
>
> currSchemaInfo.addAllowedNS(schemaNamespace);
>
> is only called for import child nodes of the schema
> and not for import child nodes of the wsdl definition
> root.
>
> --------------------------DEBUG CALL
> STACK--------------------------------
> XSDHandler.constructTrees(Element, String,
> XSDDescription) line: 815
> XSDHandler.parseSchema(XMLInputSource, XSDDescription,
> Hashtable) line: 559
> XMLSchemaLoader.loadSchema(XSDDescription,
> XMLInputSource, Hashtable) line: 554
> XMLSchemaLoader.loadGrammar(XMLInputSource) line: 521
> XMLSchemaLoader.load(LSInput) line: 1055
> XSUtils.captureSchema(LSInput, XMLEntityResolver)
> line: 120
> XSUtils.captureSchema(URI, String, XMLEntityResolver)
> line: 88
> WSDLRegistry.captureSchemas(Definition,
> ResourceFinder, URI) line: 206
> WSDLRegistry.addDefinition(Definition4BPEL,
> ResourceFinder, URI) line: 141
> BpelCompiler20(BpelCompiler).addWsdlImport(URI, URI,
> SourceLocation) line: 191
> BpelCompiler20(BpelCompiler).compile(URI, Import)
> line: 803
> BpelCompiler20(BpelCompiler).compile(Process,
> ResourceFinder) line: 655
> BpelC.compile(Process, String) line: 260
> BpelC.compile(File) line: 330
> DeploymentUnitDir.compile(File) line: 161
> DeploymentUnitDir.compile() line: 125
> ProcessStoreImpl.deploy(File) line: 165
> DeploymentPoller.check() line: 144
> DeploymentPoller.access$300(DeploymentPoller) line: 55
>
> DeploymentPoller$PollingThread.run() line: 188
> ---------------------------------------------------------
>
>
> So what should I do?
> Do I have to use external .xsd files referenced
> from all the wsdl files - an import at the
>                 <schema attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> level?


Exactly. Otherwise you'll have the visibility issue mentioned in the
compilation error.

Cheers,
Matthieu

      __________________________________
> Kennt man wirklich jeden ├╝ber 3 Ecken? Die Antworten gibt's bei Yahoo!
> Clever. www.yahoo.de/clever
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message