ODE strips namespaces and namespace prefix in request
-----------------------------------------------------

                 Key: ODE-656
                 URL: https://issues.apache.org/jira/browse/ODE-656
             Project: ODE
          Issue Type: Bug
          Components: BPEL Runtime
    Affects Versions: 1.3.2
         Environment: Eclipse BPEL Designer, ODE, ...
            Reporter: Andreas Christiani


Hi!

It seems that ODE (or Axis?) is deleting namespace declarations and the 
according namespace prefixes from a variable that is initialized correctly (I 
gave my best at least). I tried a lot of things to heal this, but nothing 
worked. The called webservice throws a fault, because it cannot process the 
input correctly.

This is the request coming from ODE:
######################################################################################
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
<soapenv:Header>
<addr:To 
xmlns:addr="http://www.w3.org/2005/08/addressing";>http://localhost:8090/epages/OSCStore.soap</addr:To>
<addr:Action 
xmlns:addr="http://www.w3.org/2005/08/addressing";>urn://epages.de/WebService/OrderService/2009/01/getInfo</addr:Action>
<addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing";>
  <addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address>
</addr:ReplyTo>
<addr:MessageID 
xmlns:addr="http://www.w3.org/2005/08/addressing";>uuid:hqejbhcnphr4ji9g01nlk2</addr:MessageID>
</soapenv:Header>
<soapenv:Body>
<odens:getInfo xmlns:odens="urn://epages.de/WebService/OrderService/2009/01">
<Orders arrayType="xs:string[]" type="odens:type_GetInfo_In">
        <Path type="xs:string">EMPTY2</Path>
</Orders>
<Attributes arrayType="xs:string[]" type="odens:type_AttributeNames_In" />
<AddressAttributes arrayType="xs:string[]" type="odens:type_AttributeNames_In" 
/>
<LineItemAttributes arrayType="xs:string[]" type="odens:type_AttributeNames_In" 
/>
<LanguageCodes arrayType="xs:string[]" type="odens:type_LanguageCodes_In" />
</odens:getInfo>
</soapenv:Body>
</soapenv:Envelope>
######################################################################################

It is initialized this way:
######################################################################################
<bpel:assign validate="no" name="Assign">
            <bpel:copy>
                <bpel:from>
                    <bpel:literal xml:space="preserve"><Orders 
soapenc:arrayType="xs:string[]" type="odens:type_GetInfo_In">
        <Path type="xs:string">EMPTY2</Path>
</Orders></bpel:literal>
                </bpel:from>
                <bpel:to part="Orders" 
variable="OrderDetailPLRequest"></bpel:to>
            </bpel:copy>
            <bpel:copy>
                <bpel:from>
                    <bpel:literal xml:space="preserve"><Attributes 
soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In"></Attributes></bpel:literal>
                </bpel:from>
                <bpel:to part="Attributes" 
variable="OrderDetailPLRequest"></bpel:to>
            </bpel:copy>
            <bpel:copy>
                <bpel:from>
                    <bpel:literal xml:space="preserve"><AddressAttributes 
soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In"></AddressAttributes></bpel:literal>
                </bpel:from>
                <bpel:to part="AddressAttributes" 
variable="OrderDetailPLRequest"></bpel:to>
            </bpel:copy>
            <bpel:copy>
                <bpel:from>
                    <bpel:literal xml:space="preserve"><LineItemAttributes 
soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In"></LineItemAttributes></bpel:literal>
                </bpel:from>
                <bpel:to part="LineItemAttributes" 
variable="OrderDetailPLRequest"></bpel:to>
            </bpel:copy>
            <bpel:copy>
                <bpel:from>
                    <bpel:literal xml:space="preserve"><LanguageCodes 
soapenc:arrayType="xs:string[]" 
type="odens:type_LanguageCodes_In"></LanguageCodes></bpel:literal>
                </bpel:from>
                <bpel:to part="LanguageCodes" 
variable="OrderDetailPLRequest"></bpel:to>
            </bpel:copy>
        </bpel:assign>

######################################################################################

This modified request works fine, when called from SoapUI:
######################################################################################
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
<soapenv:Header>
        <addr:To 
xmlns:addr="http://www.w3.org/2005/08/addressing";>http://localhost:8090/epages/OSCStore.soap</addr:To>
        <addr:Action 
xmlns:addr="http://www.w3.org/2005/08/addressing";>urn://epages.de/WebService/OrderService/2009/01/getInfo</addr:Action>
        <addr:ReplyTo xmlns:addr="http://www.w3.org/2005/08/addressing";>
                
<addr:Address>http://www.w3.org/2005/08/addressing/anonymous</addr:Address>
        </addr:ReplyTo>
        <addr:MessageID 
xmlns:addr="http://www.w3.org/2005/08/addressing";>uuid:hqejbhcnphr4ji9g01nljq</addr:MessageID>
</soapenv:Header>
<soapenv:Body>
        <odens:getInfo 
                xmlns:odens="urn://epages.de/WebService/OrderService/2009/01"
                xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
                xmlns:xs="http://www.w3.org/2001/XMLSchema";>
                <Orders soapenc:arrayType="xs:string[]" 
type="odens:type_GetInfo_In">
                        <Path type="xs:string">EMPTY2</Path>
                </Orders>
                <Attributes soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In" />
                <AddressAttributes soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In" />
                <LineItemAttributes soapenc:arrayType="xs:string[]" 
type="odens:type_AttributeNames_In" />
                <LanguageCodes soapenc:arrayType="xs:string[]" 
type="odens:type_LanguageCodes_In" />
        </odens:getInfo>
</soapenv:Body>
</soapenv:Envelope>
######################################################################################

On the service side it is only about the namspace prefix soapenc: and xs:.

I don't have any idea how to declare the namespaces in a way that the according 
prefixes are preserved in the requests.

Can anybody help me with this?


Thanks in advance!

Andreas

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to