You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2009/10/15 19:29:52 UTC

[jira] Created: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

HTTP component doesn't correctly manage namespace
-------------------------------------------------

                 Key: SMXCOMP-656
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
             Project: ServiceMix Components
          Issue Type: Bug
          Components: servicemix-http
    Affects Versions: servicemix-http-2009.01
            Reporter: Jean-Baptiste Onofré


I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.

The complete test case is available here:
http://svn.nanthrax.net/cxfse-ns-test/

Using soapUI, I generate the soap env request which looks like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
   <soapenv:Header/>
   <soapenv:Body>
      <nan:echo>
         <!--Optional:-->
         <request>
            <!--Zero or more repetitions:-->
            <arguments>-t</arguments>
	    <arguments>-r</arguments>
            <!--Optional:-->
            <operation>test</operation>
         </request>
      </nan:echo>
   </soapenv:Body>
</soapenv:Envelope>

I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.

Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
   <soapenv:Header/>
   <soapenv:Body>
      <echo xmlns="http://www.nanthrax.net">
         <!--Optional:-->
         <request xmlns="">
            <!--Zero or more repetitions:-->
            <arguments>-t</arguments>
	    <arguments>-r</arguments>
            <!--Optional:-->
            <operation>test</operation>
         </request>
      </echo>
   </soapenv:Body>
</soapenv:Envelope>

If I send this to CXF-BC, it's working fine (as expected :)).

But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.

Here's the debug log when submitting the soap env via the HTTP endpoint:

DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
or
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
rationInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
or
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
nterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
DEBUG - SecuredBroker                  - send exchange with secure broker
DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
DEBUG - SedaFlow                       - Called Flow send
DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
  id: ID:127.0.1.1-124593a6cfe-14:0
  status: Active
  role: provider
  service: {http://www.nanthrax.net}Echo
  endpoint: EchoImplPort
  operation: {http://www.nanthrax.net}echo
  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">

         <request>

            <arguments>-t</arguments>
            <arguments>-r</arguments>

            <operation>test</operation>
         </request>
      </echo></jbi:part></jbi:message>
]
DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
ERROR - EchoImpl                       - Request is null.
INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
DEBUG - SecuredBroker                  - send exchange with secure broker
DEBUG - SedaFlow                       - Called Flow send
DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
  id: ID:127.0.1.1-124593a6cfe-14:0
  status: Error
  role: consumer
  interface: {http://www.nanthrax.net}Echo
  service: {http://www.nanthrax.net}Echo
  endpoint: EchoImplPort
  operation: {http://www.nanthrax.net}echo
  in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">

         <request>

            <arguments>-t</arguments>
            <arguments>-r</arguments>

            <operation>test</operation>
         </request>
      </echo></jbi:part></jbi:message>
  error: org.apache.cxf.interceptor.Fault: Request is null.
]
DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: localhost:8192
Content-Length: 471


DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor


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


[jira] Commented: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55176#action_55176 ] 

Jean-Baptiste Onofré commented on SMXCOMP-656:
----------------------------------------------

In fact, Guillaume has already implemented the workaround to manage namespaces like other attributes (in the getAttributes() method).

The problem is that the StaxJbiWrapper (which implements XMLStreamReader used by the JbiInWsdl1Interceptor) always returns 0 in the getNamespaceCount() method.

So the workaround doesn't work as it never manages namespace.

I have updated the StaxJbiWrapper to implement the following methods:
- getNamespaceCount()
- getNamespacePrefix(int i)
- getNamespaceURI(int i)

The unit test is success now, I begin "real" test cases.


> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Resolved: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré resolved SMXCOMP-656.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: servicemix-shared-2009.02

The fix has been made on the StaxJbiWrapper of the shared-libraries trunk (2009.02-SNAPSHOT).

I'm going to upgrade all components to use this shared-libraries version and the SMX3/SMX4 trunk (on the distribution).

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>             Fix For: servicemix-shared-2009.02
>
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Assigned: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jean-Baptiste Onofré reassigned SMXCOMP-656:
--------------------------------------------

    Assignee: Jean-Baptiste Onofré

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Commented: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55172#action_55172 ] 

Jean-Baptiste Onofré commented on SMXCOMP-656:
----------------------------------------------

After deeper analyzes, the problem is in the StaxSource class.

In parse() method, on the START_ELEMENT, we get element properties from the streamReader: uri, localName, prefix, attributes.
We construct the element qname and call the startElement() method on the contentHandler (provided by xalan).

If the element namespace URI is not null, we put the URI in the startElement() method.
Else, if the element namespace URI is null, we put XmlConstants.NULL_NS_URI. NULL_NS_URI corresponds to "", so we can expect to have xmlns="" in the resulting XML.
Unfortunately, it seems that the contentHandler ignores uri like "" and put the same as null: the xmlns doesn't appear in the resulting XML.

I make a test using Xalan 2.7.1 in place of the 2.7.0 to see if a fix has been made around this.

Else, I will implement a workaround into the StaxSource getAttributes() method to manage namespace URI.

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Commented: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55149#action_55149 ] 

Jean-Baptiste Onofré commented on SMXCOMP-656:
----------------------------------------------

As we can see in the log, the problem is that one of interceptor delete the xmlns="" from the request attribute whereas it shouldn't be.
So when the XML payload arrived on CXF-SE, the JAXB unmarshaling is not possible.

I'm going to instrument servicemix-shared (which contains interceptors) to identify which interceptor change the XML payload (or I will try with remote debug).

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Work started: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on SMXCOMP-656 started by Jean-Baptiste Onofré.

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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


[jira] Commented: (SMXCOMP-656) HTTP component doesn't correctly manage namespace

Posted by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/SMXCOMP-656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=55166#action_55166 ] 

Jean-Baptiste Onofré commented on SMXCOMP-656:
----------------------------------------------

I got it. The interceptor which ignore the xmlns='' is the JbiInWsdl1Interceptor.

I have seen it by chaging the JbiInWsdl1InterceptorTest.

> HTTP component doesn't correctly manage namespace
> -------------------------------------------------
>
>                 Key: SMXCOMP-656
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-656
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: servicemix-http-2009.01
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>
> I have a CXF-SE endpoint exposing a WSDL. I "expose" this CXF-SE endpoint using a HTTP SU and a CXF-BC SU.
> The complete test case is available here:
> http://svn.nanthrax.net/cxfse-ns-test/
> Using soapUI, I generate the soap env request which looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"  xmlns:nan="http://www.nanthrax.net">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <nan:echo>
>          <!--Optional:-->
>          <request>
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </nan:echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> I send this soap envelope to the HTTP and CXF-BC: it's working fine, I got the expected soap env response.
> Now, I change the soap env request to remove the namespace prefix. The new soap env looks like this:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <echo xmlns="http://www.nanthrax.net">
>          <!--Optional:-->
>          <request xmlns="">
>             <!--Zero or more repetitions:-->
>             <arguments>-t</arguments>
> 	    <arguments>-r</arguments>
>             <!--Optional:-->
>             <operation>test</operation>
>          </request>
>       </echo>
>    </soapenv:Body>
> </soapenv:Envelope>
> If I send this to CXF-BC, it's working fine (as expected :)).
> But if I send it to the HTTP endpoint, CXF-SE can unmarshal the request and the object is null.
> Here's the debug log when submitting the soap env via the HTTP endpoint:
> DEBUG - HttpSoapConsumerMarshaler      - Using default request content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOperationInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.mime.AttachmentsInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxInInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapActionInOpe
> rationInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.wsdl.WsdlOperationInIntercept
> or
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.MustUnderstandI
> nterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInWsdl1Interceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.jbi.JbiInInterceptor
> DEBUG - HttpComponent                  - Created correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-http}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SecuredBroker                  - service name :{http://www.nanthrax.net}Echo
> DEBUG - SecuredBroker                  - operation name :{http://www.nanthrax.net}echo
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - HttpComponent                  - Suspending continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@49f9fa dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Active
>   role: provider
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
> ]
> DEBUG - CxfSeComponent                 - Received exchange: status: Active, role: provider
> DEBUG - CxfSeComponent                 - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> INFO  - JBITransportFactory            - configuring DeliveryChannel:   org.apache.servicemix.common.EndpointDeliveryChannel@2a7640
> ERROR - EchoImpl                       - Request is null.
> INFO  - PhaseInterceptorChain          - Application has thrown exception, unwinding now Request is null.
> DEBUG - DeliveryChannelImpl            - Send ID:127.0.1.1-124593a6cfe-14:0 in DeliveryChannel{servicemix-cxf-se}
> DEBUG - SecuredBroker                  - send exchange with secure broker
> DEBUG - SedaFlow                       - Called Flow send
> DEBUG - SedaQueue                      - org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1@11e31ea dequeued exchange: InOut[
>   id: ID:127.0.1.1-124593a6cfe-14:0
>   status: Error
>   role: consumer
>   interface: {http://www.nanthrax.net}Echo
>   service: {http://www.nanthrax.net}Echo
>   endpoint: EchoImplPort
>   operation: {http://www.nanthrax.net}echo
>   in: <?xml version="1.0" encoding="UTF-8"?><jbi:message xmlns:jbi="http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper" xmlns:msg="http://www.nanthrax.net" name="echo" type="msg:echo" version="1.0"><jbi:part><echo xmlns="http://www.nanthrax.net">
>          <request>
>             <arguments>-t</arguments>
>             <arguments>-r</arguments>
>             <operation>test</operation>
>          </request>
>       </echo></jbi:part></jbi:message>
>   error: org.apache.cxf.interceptor.Fault: Request is null.
> ]
> DEBUG - HttpComponent                  - Received exchange: status: Error, role: consumer
> DEBUG - HttpComponent                  - Retrieved correlation id: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - HttpComponent                  - Resuming continuation for exchange: ID:127.0.1.1-124593a6cfe-14:0
> DEBUG - JettyContextManager            - Dispatching job: RetryContinuation@23214048,pending,resumed
> DEBUG - HttpComponent                  - Receiving HTTP request: POST /nanthrax/echo/ HTTP/1.1
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: ""
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: localhost:8192
> Content-Length: 471
> DEBUG - HttpSoapConsumerMarshaler      - Using default response content encoding.
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Adding interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.interceptors.xml.StaxOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapOutInterceptor
> DEBUG - PhaseInterceptorChain          - Invoking handleMessage on interceptor org.apache.servicemix.soap.bindings.soap.interceptors.SoapFaultOutInterceptor

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