JbiInWsdl1Interceptor creates JBIFault with no part
---------------------------------------------------

                 Key: SM-1898
                 URL: https://issues.apache.org/activemq/browse/SM-1898
             Project: ServiceMix
          Issue Type: Bug
          Components: servicemix-cxf-bc
    Affects Versions: 3.3.1
            Reporter: Lee C K


When cxf-bc provider receives a soap fault from external endpoint, 
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor converts the 
soap fault to JBIFault but did not add jbi "part" element to the JBIFault. This 
causes org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper to throw 
MessageTranslationException "Invalid NMS message format, expected 
{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}part but found 
{http://www.w3.org/2003/05/soap-envelope}Text";

ServiceMix: 3.3.1
Apache ODE1.2 <--> CXF-BC Provider 2009.01 <--> external endpoint

11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  565 | Chain 
org.apache.cxf.phase.phaseinterceptorch...@3abba0 was created. Current flow:
  receive [AttachmentInInterceptor, LoggingInInterceptor]
  post-stream [StaxInInterceptor]
  read [ReadHeadersInterceptor]
  pre-protocol [MustUnderstandInterceptor]
  pre-invoke [JbiInWsdl1Interceptor]

11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.cxf.interceptor.attachmentinintercep...@1115cce
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.cxf.interceptor.logginginintercep...@e40f4c
11:50:33,494 | INFO  | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
LoggingInInterceptor     | terceptor.LoggingInInterceptor  132 | Inbound Message
----------------------------
Encoding: UTF-8
Headers: {content-type=[application/soap+xml; charset=utf-8], 
X-AspNet-Version=[2.0.50727], MicrosoftSharePointTeamServices=[12.0.0.6039], 
Date=[Thu, 24 Sep 2009 01:50:33 GMT], Content-Length=[684], 
X-Powered-By=[ASP.NET], Server=[Microsoft-IIS/6.0], Cache-Control=[private]}
Messages: 
Message:

Payload: <?xml version="1.0" encoding="utf-8"?><soap:Envelope 
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema";><soap:Body><soap:Fault><soap:Code><soap:Value>soap:Receiver</soap:Value></soap:Code><soap:Reason><soap:Text
 xml:lang="en">Exception of type 
'Microsoft.SharePoint.SoapServer.SoapServerException' was 
thrown.</soap:Text></soap:Reason><detail><errorstring 
xmlns="http://schemas.microsoft.com/sharepoint/soap/";>Group cannot be 
found.</errorstring><errorcode 
xmlns="http://schemas.microsoft.com/sharepoint/soap/";>0x80131600</errorcode></detail></soap:Fault></soap:Body></soap:Envelope>
--------------------------------------
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.cxf.interceptor.staxinintercep...@1bcbda5
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.cxf.binding.soap.interceptor.readheadersintercep...@15b4f9c
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.cxf.binding.soap.interceptor.mustunderstandintercep...@1c7ab43
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | 
PhaseInterceptorChain    | xf.phase.PhaseInterceptorChain  223 | Invoking 
handleMessage on interceptor 
org.apache.servicemix.cxfbc.interceptors.jbiinwsdl1intercep...@46b10b
11:50:33,494 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-1 | SedaFlow     
            | emix.jbi.nmr.flow.AbstractFlow  118 | Called Flow send
11:50:33,510 | DEBUG | pool-flow.seda.servicemix-cxf-bc-thread-2 | SedaQueue    
            | .jbi.nmr.flow.seda.SedaQueue$1  132 | 
org.apache.servicemix.jbi.nmr.flow.seda.sedaqueu...@1d377a4 dequeued exchange: 
InOut[
  id: ID:999.99.999.999-999999999-9:0
  status: Active
  role: consumer
  service: {http://schemas.microsoft.com/sharepoint/soap/directory/}UserGroup
  endpoint: UserGroupSoap12
  operation: 
{http://schemas.microsoft.com/sharepoint/soap/directory/}AddUserToGroup
  in: <?xml version="1.0" encoding="UTF-8"?><message 
xmlns="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"; 
xmlns:msgns="http://schemas.microsoft.com/sharepoint/soap/directory/"; 
type="msgns:AddUserToGroupSoapIn" version="1.0"><part>
        <AddUserToGroup 
xmlns="http://schemas.microsoft.com/sharepoint/soap/directory/";>
                    <userName>test</userName>
                    <groupName>test</groupName>
        </AddUserToGroup></part></message>
  fault: <?xml version="1.0" encoding="UTF-8"?><JBIFault 
xmlns="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper";><soap:Text 
xmlns:soap="http://www.w3.org/2003/05/soap-envelope"; xml:lang="en">Exception of 
type 'Microsoft.SharePoint.SoapServer.SoapServerException' was 
thrown.</soap:Text></JBIFault>
]
11:50:33,525 | ERROR | pool-6-thread-2 | JbiWsdl11WrapperMapper   | 
.msgmap.JbiWsdl11WrapperMapper  173 | Invalid NMS message format, expected 
{http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}part but found 
{http://www.w3.org/2003/05/soap-envelope}Text
11:50:33,525 | ERROR | pool-6-thread-2 | OdeConsumer              | 
g.apache.ode.jbi.OdeConsumer$4  243 | Error translating message.
org.apache.ode.jbi.msgmap.MessageTranslationException: Invalid NMS message 
format, expected {http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper}part but found 
{http://www.w3.org/2003/05/soap-envelope}Text
        at 
org.apache.ode.jbi.msgmap.JbiWsdl11WrapperMapper.toFaultType(JbiWsdl11WrapperMapper.java:174)
        at org.apache.ode.jbi.OdeConsumer$4.call(OdeConsumer.java:221)
        at org.apache.ode.jbi.OdeConsumer$4.call(OdeConsumer.java:204)
        at 
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:174)
        at org.apache.ode.jbi.OdeConsumer.outResponse(OdeConsumer.java:202)
        at 
org.apache.ode.jbi.OdeConsumer.onJbiMessageExchange(OdeConsumer.java:160)
        at 
org.apache.ode.jbi.JbiMessageExchangeEventRouter.onJbiMessageExchange(JbiMessageExchangeEventRouter.java:44)
        at org.apache.ode.jbi.Receiver$1.run(Receiver.java:179)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to