Hi,

ok, I have uploaded the files to this ticket.

Regards,
Boris


Claus Ibsen-2 wrote:
> 
> Hi
> 
> I have created a ticket in our bug tracker
> https://issues.apache.org/activemq/browse/CAMEL-1145
> 
> If possible could you upload your files to this ticket? It's much
> easier for us yo get it fixed if we have the files instead of having
> to copy paste from user forums.
> 
> 
> 
> /Claus Ibsen
> Apache Camel Committer
> Blog: http://davsclaus.blogspot.com/
> 
> 
> 
> On Thu, Dec 4, 2008 at 12:31 PM, boriss <[EMAIL PROTECTED]> wrote:
>>
>> Hi Claus, thanks for the response.
>>
>> The route to reproduce this case:
>>
>>
>> import org.apache.camel.Exchange;
>> import org.apache.camel.Processor;
>> import org.apache.camel.builder.RouteBuilder;
>> import org.apache.camel.non_wrapper.types.GetPerson;
>> import org.apache.camel.non_wrapper.types.GetPersonResponse;
>> import org.apache.camel.processor.DelegateProcessor;
>> import org.apache.cxf.message.MessageContentsList;
>>
>>
>> public class RouteBuilderCxfTracer extends RouteBuilder{
>>    @Override
>>    public void configure() throws Exception {
>>        from("cxf:http://localhost:9000/PersonService/"; +
>>                "?serviceClass=org.apache.camel.non_wrapper.Person" +
>>
>> "&serviceName={http://camel.apache.org/non-wrapper}PersonService"; +
>>                "&portName={http://camel.apache.org/non-wrapper}soap"; +
>>                "&dataFormat=POJO")
>>                .intercept(new MyDelegate())
>>                .to("direct:something");
>>
>>        from("direct:something")
>>            .process(new DoSomethingProcessor())
>>            .process(new DoNothingProcessor());
>>
>>    }
>>
>>    private class DoSomethingProcessor implements Processor{
>>        @Override
>>        public void process(Exchange exchange) throws Exception {
>>            exchange.getOut().setBody(exchange.getIn().getBody() + "
>> world!");
>>        }
>>    }
>>
>>    private class DoNothingProcessor implements Processor{
>>        @Override
>>        public void process(Exchange exchange) throws Exception {
>>            exchange.getOut().setBody(exchange.getIn().getBody());
>>        }
>>    }
>>
>>    private class MyDelegate extends DelegateProcessor{
>>        @Override
>>        protected void processNext(Exchange e) throws Exception {
>>            MessageContentsList mclIn = (MessageContentsList)
>> e.getIn().getBody();
>>            e.getIn().setBody(((GetPerson) mclIn.get(0)).getPersonId(),
>> String.class);
>>
>>            super.processNext(e);
>>
>>            GetPersonResponse gpr = new GetPersonResponse();
>>            gpr.setName("Bill");
>>            gpr.setPersonId(e.getOut().getBody(String.class));
>>            gpr.setSsn("Test");
>>
>>            MessageContentsList mclOut = new MessageContentsList();
>>            mclOut.set(0, gpr);
>>            e.getOut().setBody(mclOut, MessageContentsList.class);
>>        }
>>    }
>> }
>>
>> the corresponding context (I have named it 'context-jira.xml'):
>>
>> <beans xmlns="http://www.springframework.org/schema/beans";
>>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>       xmlns:camel="http://activemq.apache.org/camel/schema/spring";
>>       xmlns:jaxws="http://cxf.apache.org/jaxws";
>>       xmlns:http="http://cxf.apache.org/transports/http/configuration";
>>
>> xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration";
>>
>>       xsi:schemaLocation="
>>       http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>>       http://activemq.apache.org/camel/schema/spring
>> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
>>       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
>>       http://cxf.apache.org/transports/http-jetty/configuration
>> http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>>       http://cxf.apache.org/transports/http/configuration
>> http://cxf.apache.org/schemas/configuration/http-conf.xsd
>>       http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
>>           http://www.springframework.org/schema/lang
>> http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
>>           http://activemq.apache.org/camel/schema/spring
>> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
>>    ">
>>
>>    <camel:camelContext id="camelJiraContext">
>>        <camel:jmxAgent id="agent" disabled="true" />
>>    </camel:camelContext>
>>
>>        <bean id="camelTracer"
>> class="org.apache.camel.processor.interceptor.Tracer">
>>                <property name="enabled" value="true"/>
>>        <property name="traceExceptions" value="true"/>
>>        <property name="traceInterceptors" value="true"/>
>>        <property name="logLevel" value="INFO"/>
>>        </bean>
>>
>>        <bean id="traceFormatter"
>> class="org.apache.camel.processor.interceptor.TraceFormatter">
>>        <property name="showBody" value="true"/>
>>        <property name="showBodyType" value="true"/>
>>        <property name="showProperties" value="true"/>
>>        <property name="showHeaders" value="true"/>
>>        </bean>
>>
>>    <bean id="producerTemplate"
>>        factory-bean="camelJiraContext"
>>        factory-method="createProducerTemplate">
>>    </bean>
>>
>>        <bean class="RouteBuilderCxfTracer"/>
>> </beans>
>>
>>
>> And finally the Testcase. Of course there should be also some log4j
>> configuration in the classpath.
>>
>>
>> @RunWith(SpringJUnit4ClassRunner.class)
>> @ContextConfiguration(locations = { "/context-jira.xml" })
>> @TestExecutionListeners( { DependencyInjectionTestExecutionListener.class
>> })
>> public class TestJiraRoute {
>>
>>
>>        @Test
>>        public void testJiraRoute() throws Exception{
>>        URL wsdlURL = new
>> URL("http://localhost:9000/PersonService/?wsdl";);
>>        PersonService ss = new PersonService(wsdlURL, new
>> QName("http://camel.apache.org/non-wrapper";, "PersonService"));
>>        Person client = ss.getSoap();
>>        GetPerson request = new GetPerson();
>>        request.setPersonId("hello");
>>        GetPersonResponse response = client.getPerson(request);
>>
>>        assertEquals("we should get the right answer from router", "Bill",
>> response.getName());
>>        assertEquals("we should get the right answer from router", "Test",
>> response.getSsn());
>>        assertEquals("we should get the right answer from router", "hello
>> world!", response.getPersonId());
>>
>>        }
>> }
>>
>>
>>
>> Cheers,
>> Boris
>>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Hi
>>>
>>> Do you mind posting the route that causes this bug?
>>>
>>> And we should have it in JIRA so we can get it fixed.
>>>
>>>
>>> /Claus Ibsen
>>> Apache Camel Committer
>>> Blog: http://davsclaus.blogspot.com/
>>>
>>>
>>>
>>> On Thu, Dec 4, 2008 at 9:48 AM, boriss <[EMAIL PROTECTED]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I tried to configure my Camel-Route with TraceInterceptor, but when I
>>>> use
>>>> it
>>>> I'm getting the Exception like:
>>>>
>>>> java.lang.NullPointerException
>>>>        at
>>>> org.apache.camel.processor.interceptor.TraceFormatter.getBreadCrumbID(TraceFormatter.java:150)
>>>>        at
>>>> org.apache.camel.processor.interceptor.TraceFormatter.format(TraceFormatter.java:45)
>>>>        at
>>>> org.apache.camel.processor.interceptor.TraceInterceptor.format(TraceInterceptor.java:94)
>>>>
>>>> Without Tracer everything works just fine.
>>>>
>>>> So I started to trace the problem myself, and found out that some
>>>> Exchange
>>>> implementations like CxfExchange in it's constructor doesn't copy the
>>>> UnitOfWork of the previous Exchange. DefaultExchange does, for
>>>> example!!
>>>> I
>>>> was wondering why?? So after the (CXF)exchange comes through the
>>>> pipeline
>>>> it
>>>> has lost its UnitOfWork and TraceFormatter throws this NPE.
>>>>
>>>> I'm using the Camel 1.5
>>>>
>>>> Best regards,
>>>> Boris
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/UnitOfWork-tp20829434s22882p20829434.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/UnitOfWork-tp20829434s22882p20831703.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/UnitOfWork-tp20829434s22882p20832343.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to