I don't know why the ns2 prefix binding for those elements is removed.
I'll look into it this afternoon.

2012/10/15 Sergey Beryozkin <[email protected]>:
> Hi
>
> On 14/10/12 16:57, cantalou89 wrote:
>>
>> Hi all,
>> I encounter a problem when I used cxf 2.6.2 .
>> I used StaxTransformFeature with configuration '<entry
>> key="{http://www.chinamobile.com/vgop/serviceorder/v1_0}result";
>> value="result" />' to remove result element's namespace befor the soap
>> message responsed to client. Althought the result element's namespace has
>> removed , but the namespace description
>> xmlns:ns2="http://www.chinamobile.com/vgop/serviceorder/v1_0
>> of<ns2:subscribeServCfmResponse>  also has been removed, it is not what i
>> want . I just want to replce<ns2:result>  of<result>  , so how could i do?
>> Thanks .
>>
>> The spring configuration below:
>> <jaxws:endpoint id="UserOrderServer" address="/UserOrderServer.jws"
>> implementor="com.funo.ehealth.ws.UserOrderServerImpl">
>>
>>    <jaxws:outInterceptors>
>>      <bean name="useForStaxTransformFeature"
>> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"></bean>
>>    </jaxws:outInterceptors>
>>
>>    <jaxws:features>
>>     <bean class="org.apache.cxf.feature.LoggingFeature" />
>>     <bean id="transformFeature"
>> class="org.apache.cxf.feature.StaxTransformFeature">
>>       <property name="outTransformElements">
>>         <map>
>>          <entry
>> key="{http://www.chinamobile.com/vgop/serviceorder/v1_0}result";
>> value="result" />
>>         </map>
>>       </property>
>>      </bean>
>>    </jaxws:features>
>> </jaxws:endpoint>
>>
>> Before I enable the StaxTransformFeature , the clien received a soap
>> message like below:
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>   <soap:Header/>
>>    <soap:Body>
>>      <ns2:subscribeServCfmResponse
>> xmlns="http://www.chinamobile.com/vgop/serviceorder/v1_0/common";
>> xmlns:ns2="http://www.chinamobile.com/vgop/serviceorder/v1_0";>
>>       <ns2:SubscribeServCfmResp>
>>        <ns2:result>0</ns2:result>
>>       </ns2:SubscribeServCfmResp>
>>     </ns2:subscribeServCfmResponse>
>>    </soap:Body>
>> </soap:Envelope>
>>
>> AfterI enable the StaxTransformFeature , the clien received a soap message
>> like below:
>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>   <soap:Header/>
>>    <soap:Body>
>>      <ns2:subscribeServCfmResponse
>> xmlns="http://www.chinamobile.com/vgop/serviceorder/v1_0/common";>
>>       <ns2:SubscribeServCfmResp>
>>        <result>0</result>
>>       </ns2:SubscribeServCfmResp>
>>     </ns2:subscribeServCfmResponse>
>>    </soap:Body>
>> </soap:Envelope>
>>
>
> It looks like a bug, at the moment the feature tries to avoid the
> 'left-over' prefixes leaking into the transformed representations (as often
> no traces of the 'old' namespace are expected), but in this case it breaks
> it.
>
> Can you have something like
>
>
> <map>
>       <entry key="{http://www.chinamobile.com/vgop/serviceorder/v1_0}result";
> value="result" />
>       <entry
> key="{http://www.chinamobile.com/vgop/serviceorder/v1_0}subscribeServCfmResponse";
> value="{http://www.chinamobile.com/vgop/serviceorder/v1_0}subscribeServCfmResponse";
> />
> </map>
>
> and check if it helps to retain this specific namespace ? If not then we
> will introduce a property for the namespace declarations be optionally
> retained
>
> Sergey
>
>>
>>
>>
>> cantalou89
>
>
>
> --
> Sergey Beryozkin
>
> Talend Community Coders
> http://coders.talend.com/
>
> Blog: http://sberyozkin.blogspot.com

Reply via email to