Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-656

ODE strips namespaces and namespace prefix in request

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3.2
    • 1.3.6, 1.4
    • BPEL Runtime
    • None
    • Eclipse BPEL Designer, ODE, ...

    Description

      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

      Attachments

        Activity

          People

            Unassigned Unassigned
            odeanch Andreas Christiani
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: