The external service is an Axis 1.2 web service application being hosted on a
Websphere server.

In JbiOutWsdl1Interceptor I logged the request message body after the call
to saveLaterUsedNS(element) and here's the DOM body:

<?xml version="1.0" encoding="UTF-8"?>
   <jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper";
xmlns:msg="http://wl0438.solutions.infinity.co.nz:9080/TREISFeedWeb/services/FeedService";
name="getXMLFeedRequest" type="msg:getXMLFeedRequest" version="1.0">
      <jbi:part>
        <rem:getXMLFeed
xmlns:rem="http://remote.service.callcenter.nzta.govt.nz";>
          <rem:userName>myUser</rem:userName>
          <rem:password>password</rem:password>
        </rem:getXMLFeed>
      </jbi:part>
    </jbi:message>

I've also tried modifying the saveLaterUsedNS() method to add the xsd and
xsi namespaces in the jbi:message element in hope that it would be added
later on but no luck.  I'll have another go and try adding it in the
getXMLFeed element instead.


Freeman Fang wrote:
> 
> Ok, I saw the namespace in the page source now, and I saw the incorrect 
> namespace xmlns:xsi="xsi"
> Could you also append the soap message cxf bc provider send to your 
> external service?
> And would you tell me what's the kind of external service are you using?
> Freeman
> 
> angeloNZ wrote:
>> Hi,
>>
>> If you're viewing the xml in a browser you need to view the page source
>> to
>> see the namespace definitions but they're there.
>>
>>
>> Freeman Fang wrote:
>>   
>>> Hi,
>>> Your soap response message looks really strange for me, there is no 
>>> prefix "soapenv" defined in your message, moreover, there's no any 
>>> prefix defined in your message, so it's an invalid soap message, that 
>>> can explain why getBodyElement(message) return null.
>>> What kind of external service are you use?
>>>
>>> Freeman
>>>
>>> angeloNZ wrote:
>>>     
>>>> Hi,
>>>>
>>>> Yes, I'm getting the full soap response I expect and yes the
>>>> getBodyElement(message) is always null.
>>>> Attached is the wsdl file being referenced from my cxf-bc xbean.xml.
>>>>
>>>> Sorry, I'm not clear what you meant with 'onwire soap message", were
>>>> you
>>>> referring to the soap response received by the requesting client? I've
>>>> attached a copy of that as well.
>>>>
>>>> I don't have a testcase currently as I'm using soapUI as the soap
>>>> client
>>>> and
>>>> I just discovered this problem as I was creating integration tests
>>>> using
>>>> the
>>>> Spring approach meantioned in the site.
>>>>
>>>> http://www.nabble.com/file/p22488949/soapresponse.xml soapresponse.xml 
>>>>
>>>> http://www.nabble.com/file/p22488949/FeedService.wsdl FeedService.wsdl 
>>>>
>>>>
>>>> Freeman Fang wrote:
>>>>   
>>>>       
>>>>> Hi,
>>>>>
>>>>> You get your soap response from external service, and then in 
>>>>> JbiInWsdl1Interceptor the getBodyElement(message) always return null,
>>>>> right?
>>>>> Can you dump the onwire soap message returned from your external
>>>>> service 
>>>>> and also append your wsdl used by cxf bc provider?
>>>>> I suspect the soap version mismatch cause this problem.
>>>>> Also if you can attach a testcase, that's would be great.
>>>>> Freeman
>>>>>
>>>>>
>>>>>     
>>>>>         
>>>>   
>>>>       
>>>
>>>     
>>
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/cxf-losing-namespace-declarations-tp20119972p22489791.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to