You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Kumaran <ma...@gmail.com> on 2014/11/26 21:09:56 UTC

Camel 2.14.0 Matrix Params are missing

Hi 

This is my first post in the forum, We are using camel 2.14.0 version and
need to proxy the web service. i have posted to configurations below
followed from the camel-proxy-example.
 
<cxf:rsServer id="rsServer" address="/proxyServer"
loggingFeatureEnabled="true" loggingSizeLimit="20" skipFaultLogging="true" >
<cxf:serviceBeans>  
  <bean class="com.test.PServerImpl" />
  <bean class="com.test.PServerImpl" /> 
                </cxf:serviceBeans>
</cxf:rsServer>
 	 
<cxf:rsClient id="rsClient" address="http://localhost:29090/MyServer/" 
loggingFeatureEnabled="true" loggingSizeLimit="20" skipFaultLogging="true">  
</cxf:rsClient>


      
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="cxfrs://bean://rsServer?bindingStyle=SimpleConsumer"/> 
<to uri="cxfrs://bean://rsClient"/> 
</route> 
</camelContext>

But we can see that the Matrix Parameters are completely stripped away in
the CxfRsProducer.  I know that if we use SimpleConsumer as the binding
style the matrix param will be sent as header params.  But shouldn't the
matrix params part of the URL.


ID: 15
Address:
http://localhost:8001/test/services/proxyServer/boxing;state=Current
Http-Method: GET
Content-Type: 
Headers: {Accept=[application/xml], accept-encoding=[gzip, deflate],
accept-language=[en-us], Authorization=[xxxx], connection=[keep-alive],
Content-Length=[0], Content-Type=[null], host=[localhost:8001]}
-------------------------------------- 

---------------------------
ID: 16
Address: http://localhost:29090/MyServer/boxing
Http-Method: GET
Content-Type: */*
Headers: {Accept=[application/xml], *state=[Current]*,  user-agent=[xxxxxx],
accept-encoding=[gzip, deflate], Content-Length=[0], Authorization=[Bearer
fff8ed5e-5509-4116-8fde-6523b0e60144],
org.apache.cxf.request.uri=[/services/proxyServer/boxing;state=Current],
host=[localhost:8001], connection=[keep-alive], accept-language=[en-us],
org.apache.cxf.message.Message.PATH_INFO=[/boxing],
org.apache.cxf.request.method=[GET], Content-Type=[*/*]}
 
 
I have came across similar issue posted in the past.   CAMEL-5405 CXF
Transport loses HTTP Matrix parameters
<http://camel.465427.n5.nabble.com/CXFRS-URL-Matrix-Parameters-seemingly-stripped-away-td5714486.html>   
But we are using camel 2.14.0 version.

Can somebody help us on resolving this issue ?


Thanks in Advance.
-Kumaran




--
View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel 2.14.0 Matrix Params are missing

Posted by Kumaran <ma...@gmail.com>.
Hi Willem,

Created the JIRA for the issue and attached the source in it please
validate.  I am not sure about creating diff patch, could you help on that
same

CAMEL-8092: cxf:producer Matrix Params are missing
<https://issues.apache.org/jira/browse/CAMEL-8092>  

 
Thanks
Kumaran


Willem.Jiang wrote
> Hi Kumaran,
> 
> Thanks for your contribution.
> Could you create a JIRA[1] and submit the diff patch to it?
> It could be more easy for us to track the issue and apply the patch.
> 
> --  
> Willem Jiang
> 
> Red Hat, Inc.
> Web: http://www.redhat.com
> Blog: http://willemjiang.blogspot.com (English)
> http://jnn.iteye.com (Chinese)
> Twitter: willemjiang  
> Weibo: 姜宁willem
> 
> 
> 
> On November 27, 2014 at 9:47:05 AM, Kumaran (

> mail2dkumaran@

> ) wrote:
>> Hi Sergey
>>  
>> I had a fix for this issue to support Matrix Parameter Could you
>> validate.
>>  
>> CxfRsProducer.java
>>  
>>  
>> Added new methods like
>> setupClientMatrix,getMatrixParametersFromMatrixString  
>>  
>> Thanks
>> Kumaran
>>  
>>  
>>  
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668p5759678.html  
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>





--
View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668p5759778.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel 2.14.0 Matrix Params are missing

Posted by Willem Jiang <wi...@gmail.com>.
Hi Kumaran,

Thanks for your contribution.
Could you create a JIRA[1] and submit the diff patch to it?
It could be more easy for us to track the issue and apply the patch.

--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On November 27, 2014 at 9:47:05 AM, Kumaran (mail2dkumaran@gmail.com) wrote:
> Hi Sergey
>  
> I had a fix for this issue to support Matrix Parameter Could you validate.
>  
> CxfRsProducer.java
>  
>  
> Added new methods like setupClientMatrix,getMatrixParametersFromMatrixString  
>  
> Thanks
> Kumaran
>  
>  
>  
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668p5759678.html  
> Sent from the Camel - Users mailing list archive at Nabble.com.
>  


Re: Camel 2.14.0 Matrix Params are missing

Posted by Kumaran <ma...@gmail.com>.
Hi Sergey

I had a fix for this issue to support Matrix Parameter Could you validate.

CxfRsProducer.java
<http://camel.465427.n5.nabble.com/file/n5759678/CxfRsProducer.java>  

Added new methods like setupClientMatrix,getMatrixParametersFromMatrixString

Thanks
Kumaran



--
View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668p5759678.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel 2.14.0 Matrix Params are missing

Posted by Kumaran <ma...@gmail.com>.
Hi  Sergey  

Thanks for the quick reply and taking a look at this issue. I will not be
able to change the real REST service signature.

Meanwhile i was going through REST DSL option suggestion.  The
camel-netty-http, camel-jetty, camel-restlet, camel-servlet,
camel-spark-rest   components documentation doesn't talked about
MatrixParam, i can see some docs related to query param.  i really doubts
even if i start using any of these components i will sendup in the same
Matrix param issue.

Any pointer or samples related to REST producer with Matrix param in camel
2.14  will be great helpful.

Just thinking like headerfilter  can we customize the URL also ?





--
View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668p5759675.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Camel 2.14.0 Matrix Params are missing

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi

I agree it is a CXFRS producer bug that matrix parameters are lost.
CAMEL-5405 was addressing a server side issue.
I'll have a look.

In meantime - please consider using an alternative Camel HTTP centric 
component - may be REST DSL ? or if it is feasible then pass the options 
as path or query parameters

Thanks, Sergey

On 26/11/14 20:09, Kumaran wrote:
> Hi
>
> This is my first post in the forum, We are using camel 2.14.0 version and
> need to proxy the web service. i have posted to configurations below
> followed from the camel-proxy-example.
>
> <cxf:rsServer id="rsServer" address="/proxyServer"
> loggingFeatureEnabled="true" loggingSizeLimit="20" skipFaultLogging="true" >
> <cxf:serviceBeans>
>    <bean class="com.test.PServerImpl" />
>    <bean class="com.test.PServerImpl" />
>                  </cxf:serviceBeans>
> </cxf:rsServer>
>   	
> <cxf:rsClient id="rsClient" address="http://localhost:29090/MyServer/"
> loggingFeatureEnabled="true" loggingSizeLimit="20" skipFaultLogging="true">
> </cxf:rsClient>
>
>
>
> <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
> <route>
> <from uri="cxfrs://bean://rsServer?bindingStyle=SimpleConsumer"/>
> <to uri="cxfrs://bean://rsClient"/>
> </route>
> </camelContext>
>
> But we can see that the Matrix Parameters are completely stripped away in
> the CxfRsProducer.  I know that if we use SimpleConsumer as the binding
> style the matrix param will be sent as header params.  But shouldn't the
> matrix params part of the URL.
>
>
> ID: 15
> Address:
> http://localhost:8001/test/services/proxyServer/boxing;state=Current
> Http-Method: GET
> Content-Type:
> Headers: {Accept=[application/xml], accept-encoding=[gzip, deflate],
> accept-language=[en-us], Authorization=[xxxx], connection=[keep-alive],
> Content-Length=[0], Content-Type=[null], host=[localhost:8001]}
> --------------------------------------
>
> ---------------------------
> ID: 16
> Address: http://localhost:29090/MyServer/boxing
> Http-Method: GET
> Content-Type: */*
> Headers: {Accept=[application/xml], *state=[Current]*,  user-agent=[xxxxxx],
> accept-encoding=[gzip, deflate], Content-Length=[0], Authorization=[Bearer
> fff8ed5e-5509-4116-8fde-6523b0e60144],
> org.apache.cxf.request.uri=[/services/proxyServer/boxing;state=Current],
> host=[localhost:8001], connection=[keep-alive], accept-language=[en-us],
> org.apache.cxf.message.Message.PATH_INFO=[/boxing],
> org.apache.cxf.request.method=[GET], Content-Type=[*/*]}
>
>
> I have came across similar issue posted in the past.   CAMEL-5405 CXF
> Transport loses HTTP Matrix parameters
> <http://camel.465427.n5.nabble.com/CXFRS-URL-Matrix-Parameters-seemingly-stripped-away-td5714486.html>
> But we are using camel 2.14.0 version.
>
> Can somebody help us on resolving this issue ?
>
>
> Thanks in Advance.
> -Kumaran
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Camel-2-14-0-Matrix-Params-are-missing-tp5759668.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com