Hi,

Here's my use case:

http:soap-consumer -> camel > cxf-provider-bc > external service

I'm using smx 3.3.  I am getting my expected soap response however I am not
getting the xmlns:xsd definition and the xsi namespace comes up as
"xmlns:xsi=xsi".

I've looked at JbiOutWsdl1Interceptor and saw the fix that saves the
namespaces.  I was also looking at JbiInWsdl1Interceptor and there was a
code portion that adds the xsi and xsd namespaces to the root element as
well.  However, this particular method call below always returns null for me
which forces the handleMessage() to exit and not have any of the namespace
changes applied.  

Element body = getBodyElement(message);
if (body == null) {             
    return;
}

Since I'm getting a soap response I'm assuming that some other interceptors
were invoked afterwards but I'm not sure which.  If I use a
http:soap-provider instead, the xsd and xsi namespaces appear ok in the
operation element in the response.  Any idea how to fix this cxf problem?



Freeman Fang wrote:
> 
> Hi,
> 
> I think we already fix this issue in smx 3.2.3 SNAPSHOT. [1] tracked 
> this issue
> 
> [1]https://issues.apache.org/activemq/browse/SM-1556
> Freeman
> 
> servicer-mixer wrote:
>> I'm currently using smx 3.2.2 with the following endpoints
>> cxf-consumer-bc=>cxf-provider-bc=>external service
>>
>> The reply Envelope element from the external service looks like this:
>> <soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include";
>>    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>    xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>> xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing";
>>   
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
>>   
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>
>>
>> However, the reply returned from cxf-consumer-bc is:
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>
>> I'm failing to parse the reply because one of the elements in the reply
>> looks like this:
>> <DeclineReason xsi:nil="true" />
>>
>> I think this is similar to SM-1172, but the original namespace is
>> declared
>> on the external reply and not the jbi message.
>>
>> Is there any way to force the consumer to add namespace declarations to
>> the
>> reply?
>>
>> Thanks
>>   
> 
> 
> 

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

Reply via email to