On Sun, Aug 16, 2009 at 11:00 PM, jjb<jj_burf...@yahoo.com> wrote:
>
> Hi, Claus.
>
> Indeed this worked for me.  Thanks so much for your brilliant support!
>

Glad we finally got you to a point where it worked for you.


> 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.
>
>



-- 
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