Thank you!

Karolis Petrauskas
On Wed, Aug 4, 2010 at 3:57 PM, Freeman Fang <[email protected]> wrote:
> Hi,
>
> This is a known issue  tracked by SMXCOMP-747[1] and already get fixed,  you
> ma need use servicemix-cxf-bc 2010.02-SNAPSHOT to pick up this fix.
>
> [1]https://issues.apache.org/activemq/browse/SMXCOMP-747
>
> Freeman
> On 2010-8-4, at 下午8:23, Karolis Petrauskas wrote:
>
>> Hello,
>>
>>   I have a problem with processing of namespaces in the
>> servicemix-cxf-bc component. I'm exposing a web service using this
>> component, and trying to invoke it using apache-axis 1.4 client (i
>> cant change the stack for the client). I'm getting an error "Namespace
>> prefix 'xsd' has not been declared" (more details bellow). Axis
>> declares this namespace in the tag soapenv:Envelope, which is then
>> removed by the cxf-bc endpoint.
>>   I had a very similar situation in apache ode. There the
>> namespaces, especially those, used in the xsi:type attributes only,
>> were lost in assign and invoke statements. I fixed ode locally, and
>> added each namespace in the context explicitly by creating
>> corresponding attributes.
>>   I can try to fix this issue in the servicemix too, but i want to
>> ask you if i'm doing something wrong with namespaces, or is it a bug
>> in the servicemix?
>>
>> org.apache.cxf.interceptor.LoggingInInterceptor writes the following
>> xml (irrelevant parts are ommited, and xml if formated to be more
>> readeable):
>>   <?xml version="1.0" encoding="UTF-8"?>
>>   <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>
>>         <request xmlns="xxx">
>>             <maxSubscriptions xsi:type="xsd:long">0</maxSubscriptions>
>>          </request>
>>     </soapenv:Body>
>>   </soapenv:Envelope>
>>
>> The Normalized message produced by the cxf-bc component is as follows:
>>   InOut[
>>     id: ID:10.40.137.92-12a3cbd4a84-13:117
>>     status: Active
>>     role: provider
>>     service: {zzz}www
>>     endpoint: xslt
>>     operation: {zzz}qqq
>>     in: <?xml version="1.0" encoding="UTF-8"?>
>>       <request xmlns="xxx">
>>         <maxSubscriptions xsi:type="xsd:long">0</maxSubscriptions>
>>       </request>
>>   ]
>>
>> The further processing fails because of missing declaration of the
>> prefix "xsd", as it was in the Envelope tag and was removed by the
>> cxf-bc component. The error looks like this:
>>   ; Line#: -1; Column#: -1
>>   net.sf.saxon.trans.XPathException: Namespace prefix 'xsd' has not
>> been declared
>>       at
>> net.sf.saxon.om.StructuredQName.fromLexicalQName(StructuredQName.java:108)
>>       at
>> net.sf.saxon.functions.ResolveQName.evaluateItem(ResolveQName.java:34)
>>       at net.sf.saxon.functions.Component.evaluateItem(Component.java:61)
>>       at
>> net.sf.saxon.expr.SingletonComparison.effectiveBooleanValue(SingletonComparison.java:96)
>>       at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:679)
>>   ....
>>
>> I'm, using apache-servicemix version 3.3.2 with components version
>> 2010-01.
>> All hints and suggestions would be very valuable. Excuse me for my poor
>> English.
>>
>> Karolis Petrauskas
>
>
> --
> Freeman Fang
>
> ------------------------
> Open Source SOA: http://fusesource.com
> Apache Servicemix:http://servicemix.apache.org
> Apache Cxf: http://cxf.apache.org
> Apache Karaf: http://karaf.apache.org
> Apache Felix: http://felix.apache.org
>
>

Reply via email to