I did not specify it but here is the message I try to send:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:esb="http://www.bsb.com/incubator/esb";>
   <soapenv:Header/>
   <soapenv:Body>
      <esb:GetPerson>
         <socialId>528404-885-24</socialId>
      </esb:GetPerson>
   </soapenv:Body>
</soapenv:Envelope>

I am not sure it helps though...


Olivier Roger wrote:
> 
> I remove the xmlbeans usage to use an interface using String as input and
> output parameter types.
> 
> package com.bsb.incubator.esb.fuse4;
> 
> import javax.jws.WebParam;
> import javax.jws.WebService;
> 
> @WebService(targetNamespace = "http://www.bsb.com/incubator/esb";)
> public interface IWS {
>       String GetPerson(@WebParam(name="socialId") String socialId) ;
> }
> 
> Using the debugger it seems that the exchange variable does not contains
> the request payload.
> Here is content:
> 
> Header: []
> Body: [[esb:GetPerson: null]]
> 
>  http://old.nabble.com/file/p28241790/%255BPAYLOAD%255DCxfPayload.png 
> 
> I provided the sample of my project.
> 
> 
> Olivier Roger wrote:
>> 
>> Thanks for you input willem,
>> 
>> I am using the lastest Fuse ESB distribution which includes Camel 2.2.
>> I will try to launch the example you indicated and what is different from
>> my implementation.
>> 
>> If I cannot figure it out I will provide a sample project.
>> 
>>  http://old.nabble.com/file/p28241790/CXFPayload.zip CXFPayload.zip 
>> 
>> Olivier
>> 
>> 
>> willem.jiang wrote:
>>> 
>>> I just ran a simple test by printing out the result of 
>>> exchange.getIn().getBody(String.class) in the 
>>> CxfConsumerPayloadTest.java on the trunk (Camel 2.3-SNAPSHOT), I can see 
>>> the message body was printed out rightly.
>>> 
>>> Which version of Camel are you using ?
>>> 
>>> Willem
>>> 
>>> Willem Jiang wrote:
>>>> Hi,
>>>> 
>>>> When you use exchange.getIn().getBody(String.class) to get the message,
>>>> camel will try to find a right converter to turn PayLoad (the actual 
>>>> object stored in the message body) into String.
>>>> It looks like there is not a converter to do this job, so you got null.
>>>> If I remember right, a StringConverter should be use in this case, I 
>>>> don't know why it doesn't work for you.
>>>> If you use exchange.getIn().getBody() , you should get the PayLoad 
>>>> object. You can find more detail example here[1]
>>>> 
>>>> [1]https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadTest.java
>>>>  
>>>> 
>>>> 
>>>> Willem
>>>> 
>>>> Olivier Roger wrote:
>>>>> Hello Camel,
>>>>>
>>>>> I am experimenting a strange issue when using CXF inbound endpoint
>>>>> with
>>>>> PAYLOAD dataformat option (no problem in MESSAGE mode).
>>>>>
>>>>> First I declare a CXF endpoint:
>>>>>
>>>>>     <cxf:cxfEndpoint id="F1" address="http://localhost:10101/F1";
>>>>> serviceClass="CXFUseCase"> <!-- Interface with one method -->
>>>>>         <cxf:dataBinding>
>>>>>             <bean class="org.apache.cxf.xmlbeans.XmlBeansDataBinding"
>>>>> />
>>>>>         </cxf:dataBinding>
>>>>>         <cxf:properties>
>>>>>             <entry key="dataFormat" value="PAYLOAD"/>
>>>>>         </cxf:properties>
>>>>>     </cxf:cxfEndpoint>
>>>>>
>>>>> Then, in my route I use it:
>>>>>
>>>>>         <route>
>>>>>             <from uri="cxf:bean:F1" />
>>>>>             <bean ref="inspect" />
>>>>>
>>>>> When I debug in the inspect bean the Exchange object does not contain
>>>>> any
>>>>> value.
>>>>> However, setting a response value works correctly.
>>>>>
>>>>>     public void process(final Exchange exchange){
>>>>>         String msg = exchange.getIn().getBody(String.class);
>>>>>         System.out.println(msg); // is null
>>>>>         exchange.getOut().setBody(createResponse(), 
>>>>> PersonDocument.class); //
>>>>> is ok
>>>>>     }
>>>>>
>>>>> I read the documentation on the website but found it quite not clear. 
>>>>> Am I
>>>>> doing something wrong?
>>>>>
>>>>> Thanks in advance,
>>>>>
>>>>> Olivier
>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/-CXF--Inbound-endpoint-with-PAYLOAD-dataformat-tp28240799p28241806.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to