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.