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


Reply via email to