brijesh wrote:
Hi Freeman,
I am using smx 3.2.3 version, will  useJBIWrapper attribute supports in
cxf-bc , or is there any other workaround to avoid jbi wrapper

Try with useJBIWrapper="false", it should work
Freeman
If not i am planning to use http-bc so that i can avoid jbi wrapper, i hope
http-bc suuports  useJBIWrapper attribute

thanks Brijesh N K



Freeman Fang wrote:
That's because cxf bc consumer expect jbi binding message, so you need add jbi wrapper, like the outgoing message I show you in previous mail.
Freeman

brijesh wrote:
Hi Ashwin, thanks for the response, following is error message i am getting now, return document i am passing to servicmix-cxf-bc as out message is valid
against wsdl response datatype , i am wonderging y is it looking for jbi
namespace below is stack trace
Jan 5, 2009 11:30:08 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message wrapper element is
'{com.ekaplus.integration.common.document.response}Response' but expected
'{http://java.sun.com/xml/ns/jbi/w
sdl-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
'{com.ekaplus.integration.common.document.response}Response' but expected
'{http://java.sun.com/xml/ns/jbi/wsd
l-11-wrapper}message'


i am sending back following xml document , which is valid against wsdl
reponse type


<Response xmlns="com.ekaplus.integration.common.document.response">
  <ResultType>SUCCCESS</ResultType>
  <Messages>
    <Description>this is result type</Description>
    <Description>Another is result type</Description>
  </Messages>
</Response>


bc xmbean configuration as follows
<beans xmlns="http://www.springframework.org/schema/beans";
       xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0";
       xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance";
       xmlns:eka="http://ekaplus.com/contract";
xsi:schemaLocation="http://servicemix.apache.org/cxfbc/1.0 http://servicemix.apache.org/schema/servicemix-cxfbc-3.2.3.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd";>

  <cxfbc:consumer wsdl="classpath:contract.wsdl"
        service="eka:createContractService"
        targetService="eka:contractBeanRouter"
        />

regards

Brijesh N K




Ashwin Karpe wrote:
Hi Brijesh,

Looks like your soap payload is incorrectly formatted. It could be that
the cxf-bc receives SOAP1.2 while the expected payload is SOAP1.1 or the
SOAP settings are incorrectly applied.

The payload being forwarded to the smx-bean is badly broken or mangled
at
that point. While the bean expects a JBI message in the Message
exchange,
it receives a broken piece of payload. Can you please attach a copy of
your payload, cxf-bc and smx-bean settings.
The payload being sent to the bean is badly mangled or incorrrectly
formatted/processed for some reason.

Cheers,

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





Reply via email to