On Mon, May 4, 2009 at 7:48 AM, Matthieu Riou <[email protected]>wrote:
> On Fri, May 1, 2009 at 2:19 PM, Jonathan Coogan < > [email protected]> wrote: > >> Hi. I've noticed that Ode 1.X will throw a CompilationException for >> BPEL processes that import certain types of WSDLs. These same >> processes/WSDLs work fine in Ode 1.2. >> >> I think it has something to do with local schema imports. Take this >> WSDL, for example. >> >> <?xml version="1.0" encoding="UTF-8"?> >> <wsdl:definitions targetNamespace="mytestnamespace" >> xmlns:ns1="mytestnamespace" xmlns:ns2="myothertestnamespace" >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/ >> <BLOCKED::http://schemas.xmlsoap.org/wsdl/> " >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/ >> <BLOCKED::http://schemas.xmlsoap.org/wsdl/soap/> " >> xmlns:xsd="http://www.w3.org/2001/XMLSchema >> <BLOCKED::http://www.w3.org/2001/XMLSchema> "> >> <wsdl:types> >> <schema elementFormDefault="qualified" >> targetNamespace="mytestnamespace" >> xmlns="http://www.w3.org/2001/XMLSchema >> <BLOCKED::http://www.w3.org/2001/XMLSchema> "> >> <import namespace="myothertestnamespace"/> >> <element name="request"> >> <complexType> >> <sequence> >> <element name="in" type="xsd:int"/> >> </sequence> >> </complexType> >> </element> >> <element name="response"> >> <complexType> >> <sequence> >> <element name="out" type="ns2:SomeType"/> >> </sequence> >> </complexType> >> </element> >> </schema> >> <schema elementFormDefault="qualified" >> targetNamespace="myothertestnamespace" >> xmlns="http://www.w3.org/2001/XMLSchema >> <BLOCKED::http://www.w3.org/2001/XMLSchema> "> >> <import namespace="mytestnamespace"/> >> <complexType name="SomeType"> >> <sequence> >> <element name="Blah" type="xsd:string"/> >> </sequence> >> </complexType> >> </schema> >> </wsdl:types> >> <wsdl:message name="Request"> >> <wsdl:part element="ns1:request" name="parameters"/> >> </wsdl:message> >> <wsdl:message name="Response"> >> <wsdl:part element="ns1:response" name="parameters"/> >> </wsdl:message> >> <wsdl:portType name="TestPortType"> >> <wsdl:operation name="DoSomething"> >> <wsdl:input message="ns1:Request" name="Request"/> >> <wsdl:output message="ns1:Response" name="Response"/> >> </wsdl:operation> >> </wsdl:portType> >> <wsdl:binding name="TestSoapBinding" type="ns1:TestPortType"> >> <wsdlsoap:binding style="document" >> transport="http://schemas.xmlsoap.org/soap/http"/ >> <BLOCKED::http://schemas.xmlsoap.org/soap/http"/> > >> <wsdl:operation name="DoSomething"> >> <wsdlsoap:operation soapAction=""/> >> <wsdl:input name="Request"> >> <wsdlsoap:body use="literal"/> >> </wsdl:input> >> <wsdl:output name="Response"> >> <wsdlsoap:body use="literal"/> >> </wsdl:output> >> </wsdl:operation> >> </wsdl:binding> >> <wsdl:service name="TestService"> >> <wsdl:port binding="ns1:TestSoapBinding" name="Test"> >> <wsdlsoap:address location="http://localhost/Test"/ >> <BLOCKED::http://localhost/Test"/> > >> </wsdl:port> >> </wsdl:service> >> </wsdl:definitions> >> >> If you create a BPEL process that imports this WSDL, Ode will not deploy >> it. >> >> org.apache.ode.bpel.compiler.api.CompilationException: error: >> [CompilationErrors] Compilation completed with 2 error(s): >> >> file:/C:/Documents%20and%20Settings/Administrator/Desktop/apache-tomcat- >> 6.0.18/webapps/ode/WEB-INF/processes/test/imports/Test.wsdl:0: error: >> [SchemaError] Error in schema processing: sch-props-correct.2: A schema >> cannot contain two global components with the same name; this schema >> contains two occurrences of 'mytestnamespace,request'. >> >> file:/C:/Documents%20and%20Settings/Administrator/Desktop/apache-tomcat- >> 6.0.18/webapps/ode/WEB-INF/processes/test/imports/Test.wsdl:0: error: >> [SchemaError] Error in schema processing: sch-props-correct.2: A schema >> cannot contain two global components with the same name; this schema >> contains two occurrences of 'myothertestnamespace,SomeType'. >> at >> org.apache.ode.bpel.compiler.BpelCompiler.compile(BpelCompiler.java:752) >> at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:263) >> at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:333) >> at >> org.apache.ode.store.DeploymentUnitDir$5.run(DeploymentUnitDir.java:176) >> at org.apache.ode.utils.InternPool.runBlock(InternPool.java:57) >> at >> org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:17 >> 3) >> at >> org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:13 >> 7) >> at >> org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:176) >> ... 3 more >> >> Am I missing something here? Should I write this up? >> > > This looks like a namespace bug. Can you create an issue for it? > Ooops sorry, just noticed you created one already :) > > Thanks, > Matthieu > > >> >> Thanks. >> -Jon >> >> >> >
