Freeman, 

I am getting the mapping data from a db,  eg: 
I have few elements in incoming xml <product_id> prod001</product_id> which
I need to replace as 
<product_id>pr001</product_id> , and this mapping is done in a mapping
table. using servicemix-bean i am calling database and replacing the element
data and passing it another servicemix-bean which calls an 
ejbs method. 
After replacing the xml elements I am sending the content to another bean
which is configured through EIP 
static-routing-slip, 

code for setting content as follows 

             InOut inOut = (InOut)exchange;      
        NormalizedMessage normalizedMessage = inOut.getInMessage();      
        //String outMessage = processXml(normalizedMessage);  //this method will
substitute element from database.  
        String outMessage ="<sample>this is sample xml</sample>";
        normalizedMessage.setContent(new StringSource(outMessage));      
        MessageUtil.transferInToOut(inOut, inOut);      
        channel.send(inOut);  

Wondering how to i convert it into jbi message so that i will not get the
error as i mentioned before


thanks for the help 

Brijesh 



Freeman Fang wrote:
> 
> Hi,
> If you just want to replace some content of the incoming message and 
> return, how about you use servicemix-camel instead of the servicemix-bean?
> There shouldn't be marshalling/unmarshalling for your case IMO, just 
> replace the message.
> You should know the format of  incoming and outgoing message.
> 
> And yes, the servicemix-cxf-se will do the marshalling/unmarshalling  
> for you based on the wsdl model, but it's always used for real object 
> invocation, not suitable for your scenario.
> 
> Freeman
> 
> brijesh wrote:
>> Freeman, 
>>
>> thanks for the response, 
>>
>> As i mentioned previous post, I am sending back the response from my
>> servicemix-bean class. Wondering how do I transform according to wsdl
>> model, 
>>
>> or should i use different jbi component instead of servicemix-bean  so
>> that
>> , i can convert easily???
>> I am using bean component to replace incoming data from database. for
>> marshalling/unmarshalling  am using xmlbean . 
>>
>> will it solves if use servicemix-cxf-se instead  servicemix-bean to do
>> the
>> transformation  according to the wsdl model??
>>
>> thanks 
>>
>> Brijesh N K
>>
>>
>>
>> Freeman Fang wrote:
>>   
>>> Hi,
>>> There is no simple way to do it, since the soap binding message or jbi 
>>> binding message are based on the wsdl, you need do the transform 
>>> according to the wsdl model.
>>> Freeman
>>>
>>> brijesh wrote:
>>>     
>>>> Hi Freeman, 
>>>>
>>>> thanks for the response 
>>>>
>>>> i need to send a return message as "<sample>this is sample
>>>> xml</sample>"  
>>>> from servicemix-bean to client through servicemix-bc,
>>>>  
>>>> following is code snippet for this 
>>>>
>>>> .......................
>>>> InOut inOut = (InOut)exchange;      
>>>>                    NormalizedMessage normalizedMessage = 
>>>> inOut.getInMessage();      
>>>>                    //String outMessage = processXml(normalizedMessage);    
>>>>   
>>>>                     String outMessage ="<sample>this is sample 
>>>> xml</sample>";
>>>>                    normalizedMessage.setContent(new 
>>>> StringSource(outMessage));      
>>>>                    MessageUtil.transferInToOut(inOut, inOut);      
>>>>                    channel.send(inOut);  
>>>>
>>>> ..................
>>>>
>>>> is there any utility in MessageUtil to convert this plan xml content to
>>>> soap
>>>> binding message or jbi binding message????
>>>>  
>>>>
>>>> regards
>>>>
>>>> Brijesh N K
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Freeman Fang wrote:
>>>>   
>>>>       
>>>>> Hi,
>>>>>
>>>>> Cxf bc expect soap binding message or jbi binding message, but the 
>>>>> message "<sample>this is sample xml</sample>" from your bean is
>>>>> invalid 
>>>>> for the cxf bc.
>>>>>
>>>>> Freeman
>>>>>
>>>>> brijesh wrote:
>>>>>     
>>>>>         
>>>>>> hello, 
>>>>>>
>>>>>> I am calling servicemix-bean through cxf-bc, but i am getting soap
>>>>>> fault
>>>>>> as
>>>>>> follows 
>>>>>>
>>>>>> <soap:Envelope
>>>>>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>>>>>>    <soap:Body>
>>>>>>       <soap:Fault>
>>>>>>          <faultcode>soap:Server</faultcode>
>>>>>>          <faultstring>Message wrapper element is '{}sample' but
>>>>>> expected
>>>>>> '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'</faultstring>
>>>>>>       </soap:Fault>
>>>>>>    </soap:Body>
>>>>>> </soap:Envelope>
>>>>>>
>>>>>>
>>>>>> code for service-bean as follows 
>>>>>>
>>>>>> public class ContractSchemaDataMapper implements
>>>>>> MessageExchangeListener
>>>>>> {
>>>>>>
>>>>>>     @Resource
>>>>>>     private DeliveryChannel channel;
>>>>>>     private static final Log logger =
>>>>>> LogFactory.getLog(ContractSchemaDataMapper.class);
>>>>>>
>>>>>>     public void onMessageExchange(MessageExchange exchange) throws
>>>>>> MessagingException {
>>>>>>          
>>>>>>           if (exchange.getStatus() == ExchangeStatus.ACTIVE) {      
>>>>>>                  logger.debug("## Received exchange with status ACTIVE: 
>>>>>> " +
>>>>>> exchange);  
>>>>>>                  System.out.println("## Received exchange with status 
>>>>>> ACTIVE: "
>>>>>> +
>>>>>> exchange);
>>>>>>                  InOut inOut = (InOut)exchange;      
>>>>>>                  NormalizedMessage normalizedMessage = 
>>>>>> inOut.getInMessage();      
>>>>>>                  //String outMessage = processXml(normalizedMessage);    
>>>>>>   
>>>>>>                   String outMessage ="<sample>this is sample 
>>>>>> xml</sample>";
>>>>>>                  normalizedMessage.setContent(new 
>>>>>> StringSource(outMessage));      
>>>>>>                  MessageUtil.transferInToOut(inOut, inOut);      
>>>>>>                  channel.send(inOut);  
>>>>>>          }  else{      
>>>>>>                  logger.debug("## Received exchange but status not 
>>>>>> ACTIVE: " +
>>>>>> exchange);  
>>>>>>          }
>>>>>>     }
>>>>>>   }
>>>>>>
>>>>>> and the stack trace as follows 
>>>>>>
>>>>>> INFO: Interceptor has thrown exception, unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Message wrapper element is
>>>>>> '{}sample'
>>>>>> but
>>>>>> expected '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:103)
>>>>>>         at
>>>>>> org.apache.servicemix.cxfbc.interceptors.JbiOutWsdl1Interceptor.handleMessage(JbiOutWsdl1Interceptor.java:62)
>>>>>>         at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>>>>>         at
>>>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>>>>         at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>>>>>>         at
>>>>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:278)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:252)
>>>>>>         at
>>>>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:757)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.HandlerList.handle(HandlerList.java:49)
>>>>>>         at
>>>>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>>>>         at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:502)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:840)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:657)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>>>>>         at
>>>>>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:377)
>>>>>>         at
>>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>>>>         at
>>>>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:497)
>>>>>> Caused by: java.lang.Exception: Message wrapper element is '{}sample'
>>>>>> but
>>>>>> expected '{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}message'
>>>>>>         ... 21 more
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Any idea on this , 
>>>>>>
>>>>>> regards
>>>>>>
>>>>>> Brijesh N K
>>>>>>
>>>>>>   
>>>>>>       
>>>>>>           
>>>>>     
>>>>>         
>>>>   
>>>>       
>>>
>>>     
>>
>>   
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/expected-%27%7Bhttp%3A--java.sun.com-xml-ns-jbi-wsdl-11-wrapper%7Dmessage-tp21276728p21286310.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to