ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From capric...@gmx.de
Subject Re: Complex type wrapper element is still visible in messages sent by the engine
Date Fri, 26 Jun 2009 16:12:26 GMT
Hello,

to solve the problem I had to declare an element of the complexType TestVO in the .wsdl

<element name="TestVOElement" type="tns:TestVO"/>

The declaration of the variable in the .bpel file must be of the element type:

<bpel:variable name="mytestvo" element="tns:TestVOElement"></bpel:variable>

Initialize:

<bpel:copy>
 <bpel:from>
  <bpel:literal xml:space="preserve">
   <tns:TestVOElement xmlns:tns="http://BPELVoTest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tns:TestVO>
     <tns:key></tns:key>
     <tns:value></tns:value>
    </tns:TestVO>
   </tns:TestVOElement>
  </bpel:literal>
 </bpel:from>
 <bpel:to variable="mytestvo">
 </bpel:to>
</bpel:copy>

Fill:

<bpel:copy>
 <bpel:from part="payload" variable="input"></bpel:from>
 <bpel:to variable="mytestvo">
  <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
   <![CDATA[tns:TestVO/tns:key]]>
  </bpel:query>
 </bpel:to>
</bpel:copy>

Add to response:

<bpel:copy>
 <bpel:from>
  <![CDATA[ode:insert-as-last-into($output.payload, $mytestvo)]]>
 </bpel:from>
 <bpel:to part="payload" variable="output">
 </bpel:to>
</bpel:copy>

The SOAP Response

<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
 <soapenv:Body>
  <BPELVoTestResponse xmlns="http://BPELVoTest">
   <TestVOElement>
    <tns:TestVO xmlns:tns="http://BPELVoTest">
     <key><input>tut</input></key>
     <tns:value />
    </tns:TestVO>
   </TestVOElement>
  </BPELVoTestResponse>
 </soapenv:Body>
</soapenv:Envelope>

After that the ODE engine seems to use the root-element I initialized instead of wrapping
it with a "xsd-complex-type-wrapper" element. I dont know if this is the right behavior in
this case but using the element instead of the complex-type will be at least a workaround.

Have a nice weekend,

Kathrin



-------- Original-Nachricht --------
> Datum: Fri, 26 Jun 2009 08:47:01 +0200
> Von: "Christian Fonden" <christian.fonden@die-rooter.de>
> An: user@ode.apache.org
> Betreff: Re: Complex type wrapper element is still visible in messages sent by the engine

> Hello,
> 
> I get the same using the ode trunk source code. I think this is somehow 
> related with imported xsd type definitions that use other xsd types for 
> themselves.
> Kathrin, I think we should reopen ODE-110. Do you agree?
> 
> 
> Greets from Germany too,
> Chris
> 
> 
> ----- Original Message ----- 
> From: <capricose@gmx.de>
> To: <user@ode.apache.org>
> Sent: Monday, June 22, 2009 7:31 PM
> Subject: Complex type wrapper element is still visible in messages sent by
> the engine
> 
> 
> > Hallo @ all,
> >
> > I receive a <xsd-complex-type-wrapper> element from my BPEL Process. As 
> > documented here
> > https://issues.apache.org/jira/browse/ODE-110
> > the problem should be fixed but I get the same result with ODE Version 
> > 1.3.2.
> >
> > Used ODE Version: 1.3.2
> >
> > The message definition in the .wsdl:
> > <element name="BPELVoTestResponse">
> >  <complexType>
> >   <sequence>
> >    <element maxOccurs="unbounded" minOccurs="0" nillable="true" 
> > name="result" type="tns:TestVO"/>
> >   </sequence>
> >  </complexType>
> > </element>
> >
> > The Definition of the complexType:
> > <complexType name="TestVO">
> >  <sequence>
> >   <element minOccurs="0" name="key" nillable="true" type="string"/>
> >   <element minOccurs="0" name="value" nillable="true" type="string"/>
> >  </sequence>
> > </complexType>
> >
> > The varible declaration in my .bpel:
> > <bpel:variable name="mytestvo" type="tns:TestVO"></bpel:variable>
> >
> > Initialize
> > <bpel:copy>
> >  <bpel:from>
> >   <bpel:literal xml:space="preserve">
> >    <tns:TestVO xmlns:tns="http://BPELVoTest" 
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> >     <tns:key></tns:key>
> >     <tns:value></tns:value>
> >    </tns:TestVO>
> >   </bpel:literal>
> >  </bpel:from>
> >  <bpel:to variable="mytestvo">
> >  </bpel:to>
> > </bpel:copy>
> >
> > <bpel:copy>
> >  <bpel:from>
> >   <bpel:literal xml:space="preserve">
> >    <tns:BPELVoTestResponse xmlns:tns="http://BPELVoTest" 
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> >    </tns:BPELVoTestResponse>
> >   </bpel:literal>
> >  </bpel:from>
> >  <bpel:to variable="output" part="payload"></bpel:to>
> > </bpel:copy>
> >
> > Fill
> > <bpel:copy>
> >  <bpel:from part="payload" variable="input"></bpel:from>
> >  <bpel:to variable="mytestvo">
> >   <bpel:query 
> > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">
> >    <![CDATA[tns:key]]>
> >   </bpel:query>
> >  </bpel:to>
> > </bpel:copy>
> >
> > Add to response
> > <bpel:copy>
> >  <bpel:from>
> >   <![CDATA[ode:insert-as-last-into($output.payload, $mytestvo)]]>
> >  </bpel:from>
> >  <bpel:to part="payload" variable="output">
> >  </bpel:to>
> > </bpel:copy>
> >
> > The response off my process:
> > <?xml version='1.0' encoding='utf-8'?>
> > <soapenv:Envelope 
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> >  <soapenv:Body>
> >   <BPELVoTestResponse xmlns="http://BPELVoTest">
> >    <xsd-complex-type-wrapper xmlns="">
> >     <key xmlns="http://BPELVoTest">
> >      <input>tut</input>
> >     </key>
> >     <tns:value xmlns:tns="http://BPELVoTest" />
> >    </xsd-complex-type-wrapper>
> >   </BPELVoTestResponse>
> >  </soapenv:Body>
> > </soapenv:Envelope>
> >
> > Perhaps I'm doing something wrong... I hope somebody can help me.
> >
> > Nice greetings from Germany,
> >
> > Kathrin
> > -- 
> > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
> > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 

-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

Mime
View raw message