camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gisbert Amm <gisbert....@1und1.de>
Subject Re: Cannot retrieve header anymore after upgrading from 1.4.0 to 1.5-SNAPSHOT
Date Thu, 11 Sep 2008 08:49:48 GMT
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Willem,

thank you again. I had seen this $someHeader stuff in the docs and had
tried it out but with 1.4.0 it didn't work. The docs are obviously a bit
ahead of 1.4.0 :)

However, I've tried this now:

<xpath>$SOAPAction = 'create'</xpath>

and get a ClassCastException:

java.lang.ClassCastException: org.apache.cxf.message.MessageContentsList
	at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:115)
	at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:97)
	at
com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:178)
	at
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:429)

...

Is there anything I need to configure in addidtion to make it work?

In
https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/util/
there isn't a test for CxfHeaderHelper, so I'm stuck ... In the JIRA
report I find "let people configure what should be copied to/form native
message", but not how to do it. Have I overseen something?

Regards,
Gisbert

Willem Jiang schrieb:
> Hi Gisbert
> 
> It's my fault that I didn't check the camel-cxf component's change log.
> You can't use Message.PROTOCOL_HEADERS to get the SOAPAction any more ,
> since William Tam contributed a header filter strategy[1] to encapsulate
> the context of PROTOCOL_HEADERS in Camel 1.5.
> You can find the code of CXF header handling in the method
> propagateCxfToCamel() of CxfHeaderHelper[2]
> You should get the SOAPAction just by using the "SOAPAction" as the Key.
> 
> [1] https://issues.apache.org/activemq/browse/CAMEL-766
> [2]
> https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/util/CxfHeaderHelper.java
> 
> 
> Regards,
> 
> Willem
> Gisbert Amm wrote:
> Hi Willem,
> 
> thank you for the quick reply. I'm afraid I don't really understand what
> you want to tell me. I can see that you've commented the code in the
> test that did more or less the same I did because this information is
> obviously no longer provided in CXF 2.1.2.
> 
> However, what do you mean when you say I should use SOAPActionExtractor
> only for handling the request message? I thought that I already did so:
> 
> <route>
> <from uri="cxf:bean:MyEndpoint"/>
> <process ref="sOAPActionExtractor"/>
> ...
> 
> And how can I retrieve the SOAP action from the message now? My routing
> relies on it ...
> 
> Regards,
> Gisbert Amm
> 
> Willem Jiang wrote:
>  
>>>> Hi,
>>>>
>>>> Camel-1.5 snapshot is using CXF 2.1.2  and CXF 2.1.2 only apply the
>>>> SOAPAction for the request message (in SoapPreProtocolOutInterceptor).
>>>> Please make sure the SOAPActionExtractor only be used for handling the
>>>> request message :)
>>>>
>>>> You can find more information in the CustomerServicesTest[1]
>>>>
>>>> [1]https://svn.apache.org/repos/asf/activemq/camel/trunk/tests/camel-itest/src/test/java/org/apache/camel/itest/customerrelations/CustomerServicesTest.java
>>>>
>>>>
>>>>
>>>> Willem
>>>>
>>>> Gisbert Amm wrote:
>>>> I've upgraded Camel to the current HEAD from SVN.
>>>>
>>>> Consider this code, which worked fine with version 1.4.0:
>>>>
>>>> public class SOAPActionExtractor implements Processor {
>>>>
>>>> public void process(Exchange exchange) throws Exception {
>>>>         Map header = (Map)
>>>> exchange.getIn().getHeader(Message.PROTOCOL_HEADERS);
>>>> ...
>>>>
>>>> (Message is of type org.apache.cxf.message.Message)
>>>>
>>>> After upgrading to 1.5-SNAPSHOT, the header is null and I therefore get
>>>> a NPE later on. Can somebody explain why this happens and what has
>>>> changed here? That would be very helpful.
>>>>
>>>> Regards,
>>>> Gisbert Amm
>>>>     
> 
>>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIyNuswM6uO7ce7NoRAlSyAJ95gaxEItcfhY1yU+L4eYQLlzn43QCePuDi
ILU/OSj0GIfdYIHO8HtVKOo=
=W3oC
-----END PGP SIGNATURE-----

Mime
View raw message