Hi,

I'm having quite some trouble with reusing reponse information from
before called webservices. Since I want to make the copy as generic as
possible, I define the messages in the wsdl file as follows:

Response from before called ws:

        <wsdl:message name="aResponse">
                <wsdl:part name="header" element="wsse:Security"/>
                <wsdl:part name="payload" element="tns:AuthenticationHeader"/>
        </wsdl:message>

Request for the next ws to be called:   
        <wsdl:message name="vaRequest">
                <wsdl:part name="header" element="wsse:Security"/>
                <wsdl:part name="payloadv" element="xsd:any"/>
        </wsdl:message>

Executing the assign with the following code works like a charm,
however replaces the root element of the response with an <any>
element.

<bpel:assign>
                <bpel:copy keepSrcElementName="no">
                <bpel:from variable="aResponseVar" part="payload"></bpel:from>
                        <bpel:to variable="vaRequestVar" 
part="payloadv"></bpel:to>
                </bpel:copy>
 </bpel:assign>

Changing the keepSrcElementName to:

<bpel:assign>
                <bpel:copy keepSrcElementName="yes">
                <bpel:from variable="aResponseVar" part="payload"></bpel:from>
                        <bpel:to variable="vaRequestVar" 
part="payloadv"></bpel:to>
                </bpel:copy>
 </bpel:assign>


results however in
Unexpected element in SOAP body: message
{http://test.com}AuthenticationHeader element
{http://www.w3.org/2001/XMLSchema}any.

The assignment should be valid, right? Or am I missing something here?

Cheers,
Markus

Reply via email to