ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Coogan" <Jonathan.Coo...@Attachmate.com>
Subject RE: CompilationException for certain WSDLs
Date Fri, 01 May 2009 21:24:53 GMT
Looks like the text of the WSDL got corrupted in my first email.  Trying
again...
 
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="mytestnamespace"
xmlns:ns1="mytestnamespace" xmlns:ns2="myothertestnamespace"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema elementFormDefault="qualified"
targetNamespace="mytestnamespace"
xmlns="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">
   <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"/>
  <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"/>
  </wsdl:port>
 </wsdl:service>
</wsdl:definitions>


________________________________

From: Jonathan Coogan 
Sent: Friday, May 01, 2009 2:19 PM
To: user@ode.apache.org
Subject: CompilationException for certain WSDLs


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?
 
Thanks.
-Jon



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