Hi

I had a look and found a glitch. I have created a ticket to track it
https://issues.apache.org/activemq/browse/CAMEL-1913


On Fri, Aug 14, 2009 at 10:56 PM, jjb<jj_burf...@yahoo.com> wrote:
>
> Hi
>
> My example does use the POST method to send the data by virtue of using the
> --post-file option to wget.  From the wget man page:
>
>       --post-data=string
>       --post-file=file
>           Use POST as the method for all HTTP requests and send the
> specified data in the request body.  "--post-data" sends string as data,
> whereas
>           "--post-file" sends the contents of file.  Other than that, they
> work in exactly the same way.
>
> So my wget example does indeed use POST.  As I said, this used to work in
> Camel 2.0-M2.  Am I missing something?  Would you like me to provide an
> example or are you able to test this using what I have mentioned so far?  If
> this works for you (using wget --post-file) with the latest SNAPSHOT then
> maybe you can show me what you are doing in your camel-context and bean
> method.
>
> Regards
>
>
> Claus Ibsen-2 wrote:
>>
>> Hi
>>
>> You should use POST to send data. GET is only for like query
>> parameters and the body is expected to be empty using GET.
>> As opposed to POST where the posted data is in the body.
>>
>>
>>
>>
>> On Thu, Aug 13, 2009 at 9:36 PM, jjb<jj_burf...@yahoo.com> wrote:
>>>
>>> FYI, I use the following wget command to test this:
>>>
>>> wget --post-file=ftm_request.xml --output-document=-
>>> http://localhost:8080/ftm/
>>>
>>> Where the ftm_request.xml file has the following contents (which I want
>>> to
>>> get as a String in my HttpProcessor.process method):
>>>
>>> <ftm_request>
>>>        <ftm_ping_request type="0" repid="12345678"/>
>>> </ftm_request>
>>>
>>>
>>> Regards
>>>
>>>
>>> jjb wrote:
>>>>
>>>> Hi
>>>>
>>>> I got a new SNAPSHOT release today but still am unable to get the body
>>>> of
>>>> an HTTP request as a string.  Here's an example of my setup:
>>>>
>>>>
>>>> From camel-context.xml:
>>>>
>>>> <!-- from Spring bean declaration portion -->
>>>>     <bean id="http_processor" class="HttpProcessor"/>
>>>>
>>>> <!-- from Camel context portion -->
>>>>     <route>
>>>>       <from uri="jetty:http://0.0.0.0:8080/ftm/?sessionSupport=true"/>
>>>>       <to uri="bean:http_processor"/>
>>>>     </route>
>>>>
>>>>
>>>> From HttpProcessor.java:
>>>>
>>>>         public void process(Exchange exchange)
>>>>       {
>>>>              String body =
>>>> (String)exchange.getIn().getBody(String.class);
>>>>              System.out.println("HTTP PROCESSOR GOT BODY " + body);
>>>>         }
>>>>
>>>>
>>>> I get an empty String for the body portion.  Is there another way to get
>>>> the HTTP body as a String or is this just broken in the latest SNAPSHOT
>>>> (this used to work in 2.0-M2)?
>>>>
>>>> Regards
>>>>
>>>>
>>>> jjb wrote:
>>>>>
>>>>> Hi
>>>>>
>>>>> So I got the latest SNAPSHOT and the bean binding issue as well as the
>>>>> camel-http getResponse issue have been fixed.  Thank you so much for
>>>>> that.  The last issue I am currently stuck on is the following code:
>>>>>
>>>>> String body = exchange.getIn().getBody(Sting.class);
>>>>>
>>>>> I still get an empty String back from this.
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>> Claus Ibsen-2 wrote:
>>>>>>
>>>>>> On Fri, Aug 7, 2009 at 2:40 AM, jjb<jj_burf...@yahoo.com> wrote:
>>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> I have another question regarding how to obtain the body of the HTTP
>>>>>>> message.  Before the latest SNAPSHOT (in 2.0-M2), I used to be able
>>>>>>> to
>>>>>>> do
>>>>>>> this:
>>>>>>>
>>>>>>> String body = (String)exchange.getIn().getBody((new
>>>>>>> String()).getClass());
>>>>>>>
>>>>>>> This now gives me an empty String.  Do you know how I can get the
>>>>>>> body
>>>>>>> of an
>>>>>>> HTTP post now?
>>>>>>
>>>>>> String body = exchange.getIn().getBody(Sting.class);
>>>>>> should work.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> Regards
>>>>>>>
>>>>>>>
>>>>>>> jjb wrote:
>>>>>>>>
>>>>>>>> Hi, Claus.
>>>>>>>>
>>>>>>>> I was hoping to get the latest SNAPSHOT with the
>>>>>>>> HttpMessage.getResponse
>>>>>>>> method implemented.  I just updated from the SNAPSHOT repo and
>>>>>>>> verified
>>>>>>>> it's not there yet:
>>>>>>>>
>>>>>>>> stealth: wget --no-check-certificate
>>>>>>>> https://repository.apache.org/content/repositories/snapshots//org/apache/camel/camel-http/2.0-SNAPSHOT/camel-http-2.0-SNAPSHOT.jar
>>>>>>>> --2009-08-06 15:28:08--
>>>>>>>> https://repository.apache.org/content/repositories/snapshots//org/apache/camel/camel-http/2.0-SNAPSHOT/camel-http-2.0-SNAPSHOT.jar
>>>>>>>> Resolving repository.apache.org... 140.211.11.100
>>>>>>>> Connecting to repository.apache.org|140.211.11.100|:443...
>>>>>>>> connected.
>>>>>>>> WARNING: cannot verify repository.apache.org's certificate, issued
>>>>>>>> by
>>>>>>>> `/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com,
>>>>>>>> Inc./OU=http://certificates.godaddy.com/repository/CN=Go Daddy
>>>>>>>> Secure
>>>>>>>> Certification Authority/serialNumber=07969287':
>>>>>>>>   Self-signed certificate encountered.
>>>>>>>> HTTP request sent, awaiting response... 200 OK
>>>>>>>> Length: 42721 (42K) [text/plain]
>>>>>>>> Saving to: `camel-http-2.0-SNAPSHOT.jar'
>>>>>>>>
>>>>>>>> 100%[=================================================================================================================================================>]
>>>>>>>> 42,721      73.7K/s   in 0.6s
>>>>>>>>
>>>>>>>> 2009-08-06 15:28:09 (73.7 KB/s) - `camel-http-2.0-SNAPSHOT.jar'
>>>>>>>> saved
>>>>>>>> [42721/42721]
>>>>>>>>
>>>>>>>> stealth: javap -classpath camel-http-2.0-SNAPSHOT.jar
>>>>>>>> org.apache.camel.component.http.HttpMessage
>>>>>>>> Compiled from "HttpMessage.java"
>>>>>>>> public class org.apache.camel.component.http.HttpMessage extends
>>>>>>>> org.apache.camel.impl.DefaultMessage{
>>>>>>>>     public
>>>>>>>> org.apache.camel.component.http.HttpMessage(org.apache.camel.Exchange,
>>>>>>>> javax.servlet.http.HttpServletRequest);
>>>>>>>>     public javax.servlet.http.HttpServletRequest getRequest();
>>>>>>>>     protected java.lang.Object createBody();
>>>>>>>> }
>>>>>>>>
>>>>>>>> stealth:
>>>>>>>>
>>>>>>>>
>>>>>>>> Do you know when it might make it into the repo?
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>>
>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>> Also the bean method name issue has been fixed in trunk.
>>>>>>>>> So if possible please test it at your side by building from source
>>>>>>>>> or
>>>>>>>>> try SNAPSHOT when a new build is published to apache maven repos.
>>>>>>>>>
>>>>>>>>> On Wed, Aug 5, 2009 at 1:55 PM, Claus Ibsen<claus.ib...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>> Hi
>>>>>>>>>>
>>>>>>>>>> Okay I am committing a fix in short time.
>>>>>>>>>>
>>>>>>>>>> You can grab it using 2 ways
>>>>>>>>>> - from the body using the camel type converter, to avoid ugly java
>>>>>>>>>> type
>>>>>>>>>> casts
>>>>>>>>>> - using java type cast to cast the message to HttpMessage
>>>>>>>>>>
>>>>>>>>>>            // we have access to the HttpServletRequest here and we
>>>>>>>>>> can grab it if we need it
>>>>>>>>>>            HttpServletRequest req =
>>>>>>>>>> exchange.getIn().getBody(HttpServletRequest.class);
>>>>>>>>>>            assertNotNull(req);
>>>>>>>>>>
>>>>>>>>>>            // we have access to the HttpServletResponse here and
>>>>>>>>>> we
>>>>>>>>>> can grab it if we need it
>>>>>>>>>>            HttpServletResponse res =
>>>>>>>>>> exchange.getIn().getBody(HttpServletResponse.class);
>>>>>>>>>>            assertNotNull(res);
>>>>>>>>>>
>>>>>>>>>>            // and they should also be on HttpMessage
>>>>>>>>>>            HttpMessage msg = (HttpMessage) exchange.getIn();
>>>>>>>>>>            assertNotNull(msg.getRequest());
>>>>>>>>>>            assertNotNull(msg.getResponse());
>>>>>>>>>>
>>>>>>>>>> And use the output stream to write to the servlet response
>>>>>>>>>>
>>>>>>>>>>            // and we can use servlet response to write to output
>>>>>>>>>> stream
>>>>>>>>>> also
>>>>>>>>>>            res.getOutputStream().print("Written by servlet
>>>>>>>>>> response");
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Aug 5, 2009 at 10:55 AM, Claus
>>>>>>>>>> Ibsen<claus.ib...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>> Hi
>>>>>>>>>>>
>>>>>>>>>>> Cool I have added a ticket to get it back
>>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-1879
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Aug 5, 2009 at 10:52 AM, jjb<jj_burf...@yahoo.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Hi, Claus.
>>>>>>>>>>>>
>>>>>>>>>>>> I built a framework to receive status related messages from a
>>>>>>>>>>>> topic as
>>>>>>>>>>>> the
>>>>>>>>>>>> route is traversed.  Consider the routes the define DerivedClass
>>>>>>>>>>>> -> A
>>>>>>>>>>>> -> B
>>>>>>>>>>>> -> C.  As each segment in the route executes, it sends JAXB/XML
>>>>>>>>>>>> messages to
>>>>>>>>>>>> a topic that are then forwarded back to the client via a
>>>>>>>>>>>> callback.
>>>>>>>>>>>>  As
>>>>>>>>>>>> the
>>>>>>>>>>>> DerivedClass receives these messages, it sends them back over
>>>>>>>>>>>> the
>>>>>>>>>>>> HTTP
>>>>>>>>>>>> socket (via the HttpServletResponse) to the invoking web client.
>>>>>>>>>>>>  This
>>>>>>>>>>>> gives
>>>>>>>>>>>> the web client a realtime flow of XML status updates while the
>>>>>>>>>>>> different
>>>>>>>>>>>> endpoints are traversed.  Since I do not want DerivedClass to
>>>>>>>>>>>> know
>>>>>>>>>>>> about
>>>>>>>>>>>> Camel or JMS, there is a class which DerivedClass submits a
>>>>>>>>>>>> request to
>>>>>>>>>>>> (manager instance below) that also listens on this topic for
>>>>>>>>>>>> related
>>>>>>>>>>>> status
>>>>>>>>>>>> messages.  These I get via callback and write them to the web
>>>>>>>>>>>> client
>>>>>>>>>>>> accordingly:
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> public interface Client
>>>>>>>>>>>> {
>>>>>>>>>>>>    public void notify(String status);
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> public DerivedClass implements Client
>>>>>>>>>>>> {
>>>>>>>>>>>>    HttpServletResponse response;
>>>>>>>>>>>>
>>>>>>>>>>>>    public void process(Exchange exchange)
>>>>>>>>>>>>    {
>>>>>>>>>>>>        HttpServletResponse response = ....;   // need to know
>>>>>>>>>>>> how
>>>>>>>>>>>> to
>>>>>>>>>>>> get
>>>>>>>>>>>> this
>>>>>>>>>>>>        String request = "MY XML REQUEST";   // this is actually
>>>>>>>>>>>> a
>>>>>>>>>>>> JAXB
>>>>>>>>>>>> serialized object
>>>>>>>>>>>>
>>>>>>>>>>>>        // submit XML request to class which listens on topic and
>>>>>>>>>>>> calls
>>>>>>>>>>>> notify with stuff for us
>>>>>>>>>>>>        manager.submit(request, this);
>>>>>>>>>>>>    }
>>>>>>>>>>>>
>>>>>>>>>>>>    // we get our stuff from the manager object which listens on
>>>>>>>>>>>> a
>>>>>>>>>>>> topic and
>>>>>>>>>>>> correlates status
>>>>>>>>>>>>    // messages and calls this notify method
>>>>>>>>>>>>    public notify(String status)
>>>>>>>>>>>>    {
>>>>>>>>>>>>         response.getWriter().println(status);
>>>>>>>>>>>>    }
>>>>>>>>>>>> }
>>>>>>>>>>>>
>>>>>>>>>>>> I was hoping 2.0-M3 Camel would allow access to
>>>>>>>>>>>> HttpServletRequest
>>>>>>>>>>>> as
>>>>>>>>>>>> before
>>>>>>>>>>>> 2.0-M3 so I can make my own synchronous writes to the HTTP
>>>>>>>>>>>> client
>>>>>>>>>>>> from
>>>>>>>>>>>> DerivedClass with no dependence on Camel.
>>>>>>>>>>>>
>>>>>>>>>>>> Regards
>>>>>>>>>>>>
>>>>>>>>>>>> response.getWriter().println(statusStr)
>>>>>>>>>>>>
>>>>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>
>>>>>>>>>>>>> Ah the response may be missing on the HttpMessage.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What do you need it for?
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Aug 5, 2009 at 9:51 AM, jjb<jj_burf...@yahoo.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi, Claus.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you so much for looking into the issue.  My last request
>>>>>>>>>>>>>> has
>>>>>>>>>>>>>> to do
>>>>>>>>>>>>>> with how to obtain a reference to the HttpServletResponse in
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> new
>>>>>>>>>>>>>> (>=
>>>>>>>>>>>>>> 2.0-M3) Camel API.  I can get the HttpServletRequest as you
>>>>>>>>>>>>>> suggested
>>>>>>>>>>>>>> (using
>>>>>>>>>>>>>> HttpMessage), but how do I obtain a reference to the
>>>>>>>>>>>>>> HttpServletResponse
>>>>>>>>>>>>>> from a method with is the "to" endpoint of a camel-jetty
>>>>>>>>>>>>>> "from"
>>>>>>>>>>>>>> route
>>>>>>>>>>>>>> that
>>>>>>>>>>>>>> takes an Exchange parameter as so:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> public void process(Exchange exchange)
>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>    HttpMessage in = (HttpMessag) exchange.getIn();
>>>>>>>>>>>>>>    HttpServletRequest = in.getRequest();
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>    // how do I get to the HttpServletResponse which used to be
>>>>>>>>>>>>>> accessed <
>>>>>>>>>>>>>> 2.0-M3
>>>>>>>>>>>>>>    // like this: HttpServletResponse response =
>>>>>>>>>>>>>> ((HttpExchange)exchange).getResponse();
>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks for the sample. I can reproduce the issue.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The issue is that your base class implements the
>>>>>>>>>>>>>>> javax.jms.MessageListener.
>>>>>>>>>>>>>>> I will dig into why Camel prefers to invoke this method over
>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>> method name specified.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tue, Aug 4, 2009 at 8:02 PM, jjb<jj_burf...@yahoo.com>
>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Attached is an example which recreates the bean issue.  My
>>>>>>>>>>>>>>>> goal is
>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>> create
>>>>>>>>>>>>>>>> a framework which localizes JMS/ActiveMQ and Camel stuff to
>>>>>>>>>>>>>>>> one
>>>>>>>>>>>>>>>> package.
>>>>>>>>>>>>>>>> Then none of our business logic depends on it (it just
>>>>>>>>>>>>>>>> passes
>>>>>>>>>>>>>>>> POJOs
>>>>>>>>>>>>>>>> around
>>>>>>>>>>>>>>>> that are created from XSD using JAXB).  This is why I can't
>>>>>>>>>>>>>>>> put
>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>> @Handler
>>>>>>>>>>>>>>>> annotation in the DerivedClass.
>>>>>>>>>>>>>>>> http://www.nabble.com/file/p24813432/camel_bug.tgz
>>>>>>>>>>>>>>>> camel_bug.tgz
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> About the 2.0-M3 Camel interface for HttpServletResponse -
>>>>>>>>>>>>>>>> how
>>>>>>>>>>>>>>>> do
>>>>>>>>>>>>>>>> I get
>>>>>>>>>>>>>>>> it
>>>>>>>>>>>>>>>> from the Exchange?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tue, Aug 4, 2009 at 9:26 AM, jjb<jj_burf...@yahoo.com>
>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks for the quick response.  I switched to 2.0-M3 and
>>>>>>>>>>>>>>>>>> still
>>>>>>>>>>>>>>>>>> had
>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>> problem - the BaseClass.onMessage still gets called.  Is
>>>>>>>>>>>>>>>>>> there a
>>>>>>>>>>>>>>>>>> newer
>>>>>>>>>>>>>>>>>> release or something I can check out that might have this
>>>>>>>>>>>>>>>>>> fix?
>>>>>>>>>>>>>>>>>>  Also,
>>>>>>>>>>>>>>>>>> when I
>>>>>>>>>>>>>>>>>> use 2.0-M3, how do I get the HttpServletResponse (your
>>>>>>>>>>>>>>>>>> suggestion to
>>>>>>>>>>>>>>>>>> get
>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>> HttpServletRequest worked for me - thanks)?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> About the bean problem. Could you create a ticket for it
>>>>>>>>>>>>>>>>> and
>>>>>>>>>>>>>>>>> attach a
>>>>>>>>>>>>>>>>> small sample with the issue?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> You can use the @Handler annotation to mark the method that
>>>>>>>>>>>>>>>>> Camel
>>>>>>>>>>>>>>>>> should use and then avoid using the ?method=xxxx.
>>>>>>>>>>>>>>>>> But I am interested in fixing why method=xxx does not work
>>>>>>>>>>>>>>>>> for
>>>>>>>>>>>>>>>>> you.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> See more here
>>>>>>>>>>>>>>>>> http://camel.apache.org/bean-binding.html
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Claus Ibsen-2 wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Tue, Aug 4, 2009 at 7:52 AM, jjb<jj_burf...@yahoo.com>
>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I have a hierarchy of objects which looks like this:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> public BaseClass implements javax.jms.MessageListener
>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>    public void onMessage(javax.jms.Message message)
>>>>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>>>>        // do something
>>>>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> public DerivedClass extends BaseClass
>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>    public void process(String body)
>>>>>>>>>>>>>>>>>>>>    {
>>>>>>>>>>>>>>>>>>>>        // do something
>>>>>>>>>>>>>>>>>>>>    }
>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I then have the following XML in my camel-context.xml:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> <bean id="processor" class="DerivedClass"/>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> <route>
>>>>>>>>>>>>>>>>>>>>      <from uri="activemq:request.queue"/>
>>>>>>>>>>>>>>>>>>>>      <to uri="bean:processor?method=process"/>
>>>>>>>>>>>>>>>>>>>> </route>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> When I run this code, all messages from request.queue
>>>>>>>>>>>>>>>>>>>> always
>>>>>>>>>>>>>>>>>>>> go to
>>>>>>>>>>>>>>>>>>>> BaseClass.onMessage, even though I explicitly want them
>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>> go
>>>>>>>>>>>>>>>>>>>> to
>>>>>>>>>>>>>>>>>>>> DerivedClass.process.  Have I done something wrong or is
>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>> a bug
>>>>>>>>>>>>>>>>>>>> (I
>>>>>>>>>>>>>>>>>>>> read
>>>>>>>>>>>>>>>>>>>> through the bean binding and it said it would first use
>>>>>>>>>>>>>>>>>>>> methods
>>>>>>>>>>>>>>>>>>>> that
>>>>>>>>>>>>>>>>>>>> were
>>>>>>>>>>>>>>>>>>>> explicitly specified in the bean's method parameter)?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> We have fixed a bug in this relation in 2.0.x (cant
>>>>>>>>>>>>>>>>>>> remember
>>>>>>>>>>>>>>>>>>> the
>>>>>>>>>>>>>>>>>>> version, might be the 2.0m3).
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> In older versions you can work around this by adding an
>>>>>>>>>>>>>>>>>>> @Body
>>>>>>>>>>>>>>>>>>> annotation to your base class
>>>>>>>>>>>>>>>>>>>     public void process(@Body String body)
>>>>>>>>>>>>>>>>>>> And Camel should prefer to use this method.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> I also notice that the new 2.0-M3 version of camel-http
>>>>>>>>>>>>>>>>>>>> no
>>>>>>>>>>>>>>>>>>>> longer
>>>>>>>>>>>>>>>>>>>> contains
>>>>>>>>>>>>>>>>>>>> the class org.apache.camel.component.http.HttpExchange.
>>>>>>>>>>>>>>>>>>>>  Therefore,
>>>>>>>>>>>>>>>>>>>> this
>>>>>>>>>>>>>>>>>>>> code no longer compiles:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>        public void process(Exchange exchange)
>>>>>>>>>>>>>>>>>>>>        {
>>>>>>>>>>>>>>>>>>>>                try
>>>>>>>>>>>>>>>>>>>>                {
>>>>>>>>>>>>>>>>>>>>                        HttpServletResponse response =
>>>>>>>>>>>>>>>>>>>> ((HttpExchange)exchange).getResponse();
>>>>>>>>>>>>>>>>>>>>                        HttpServletRequest request =
>>>>>>>>>>>>>>>>>>>> ((HttpExchange)exchange).getRequest();
>>>>>>>>>>>>>>>>>>>>                        HttpSession session = null;
>>>>>>>>>>>>>>>>>>>>                        if (request != null)
>>>>>>>>>>>>>>>>>>>>                                session =
>>>>>>>>>>>>>>>>>>>> request.getSession(true);
>>>>>>>>>>>>>>>>>>>>                 }
>>>>>>>>>>>>>>>>>>>>                catch (Exception e)
>>>>>>>>>>>>>>>>>>>>                { e.printStackTrace(); }
>>>>>>>>>>>>>>>>>>>>         }
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Is there a new way to get the HttpServletResponse and
>>>>>>>>>>>>>>>>>>>> such
>>>>>>>>>>>>>>>>>>>> from the
>>>>>>>>>>>>>>>>>>>> Exchange
>>>>>>>>>>>>>>>>>>>> parameter?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Its on the HttpMessage instead.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> HttpMessage in = (HttpMessag) exchange.getIn();
>>>>>>>>>>>>>>>>>>> HttpServletRequest = in.getRequest();
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards
>>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24802648.html
>>>>>>>>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at
>>>>>>>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24803535.html
>>>>>>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at
>>>>>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24813432.html
>>>>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at
>>>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24822320.html
>>>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at
>>>>>>>>>>>>>> Nabble.com.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>>>
>>>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> View this message in context:
>>>>>>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24823165.html
>>>>>>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Claus Ibsen
>>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>>
>>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Claus Ibsen
>>>>>>>>>> Apache Camel Committer
>>>>>>>>>>
>>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Claus Ibsen
>>>>>>>>> Apache Camel Committer
>>>>>>>>>
>>>>>>>>> Open Source Integration: http://fusesource.com
>>>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24856990.html
>>>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Claus Ibsen
>>>>>> Apache Camel Committer
>>>>>>
>>>>>> Open Source Integration: http://fusesource.com
>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>> Twitter: http://twitter.com/davsclaus
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24957352.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/bean-binding-with-inheritance---2.0-M3-camel-http-tp24802648p24978424.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to