1 Reply Latest reply on Apr 10, 2006 3:23 AM by kristof_taveirne

    c14n or namespace issue in JBoss

    kristof_taveirne

      Hi,
      I have this rather strange problem.
      I think it's a c14n problem, at least it looks like that.
      I'll just show you...

      I have a web service on Jboss 4.0.4RC1 that takes an element {http://mynamespace/common}FlowInformationRequest.
      This web service is called from Oracle's BPEL Engine.

      This is the soap:envelope that works (executed from Eclipse WST Web service explorer):

      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://mynamespace/common" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
       <q0:FlowInformationRequest>
       <Flow>
       <Name>eAlarm</Name>
       </Flow>
       <EndpointInformation>
       <Service>
       <Name>eAlarmService1</Name>
       </Service>
       <DynamicLinksCollection>
       <DynamicLink>
       <address>someuri</address>
       </DynamicLink>
       </DynamicLinksCollection>
       </EndpointInformation>
       <EndpointInformation>
       <Service>
       <Name>eAlarmService2</Name>
       </Service>
       <DynamicLinksCollection>
       <DynamicLink>
       <address>someuri</address>
       </DynamicLink>
       </DynamicLinksCollection>
       </EndpointInformation>
       </q0:FlowInformationRequest>
       </soapenv:Body>
      </soapenv:Envelope>


      This xml is processed by jboss and the xml that it returns is correct.

      However, when we create this xml from a bpel engine, and then send it to the web service, the xml looks slightly different:
      <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
       <FlowInformationRequest xmlns="http://mynamespace/common">
       <Flow>
       <Name>eAlarm</Name>
       </Flow>
       <EndpointInformation>
       <Service>
       <Name>eAlarmService1</Name>
       </Service>
       <DynamicLinksCollection>
       <DynamicLink>
       <address>someuri</address>
       </DynamicLink>
       </DynamicLinksCollection>
       </EndpointInformation>
       <EndpointInformation>
       <Service>
       <Name>eAlarmService2</Name>
       </Service>
       <DynamicLinksCollection>
       <DynamicLink>
       <address>someuri</address>
       </DynamicLink>
       </DynamicLinksCollection>
       </EndpointInformation>
       </FlowInformationRequest>
       </soapenv:Body>
      </soapenv:Envelope>


      The only difference is that the namespace is now declared as the default namespace on the FlowInformationRequest element.

      These two version logically mean exactly the same, but ... the first works, the second doesn't.

      Are there any ideas how I can fix this, and why jboss doesn't see it's logically the same XML?

      Greetings,
      Kristof.