Hi, Claus.

Indeed this worked for me.  Thanks so much for your brilliant support!

Regards


Claus Ibsen-2 wrote:
> 
> Hi
> 
> Had a 2nd look and realized you need to use multipart/form instead to
> upload files.
> 
> See example on ticket using curl with the -F option
> https://issues.apache.org/activemq/browse/CAMEL-1913
> 
> 
> 
> On Sat, Aug 15, 2009 at 12:23 PM, Claus Ibsen<claus.ib...@gmail.com>
> wrote:
>> 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
>>
> 
> 
> 
> -- 
> 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-tp24802648p24997805.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to