You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Rupert Daniel (JIRA)" <ji...@apache.org> on 2007/10/18 10:27:50 UTC

[jira] Created: (CXF-1117) "Is not a valid SOAP version" exception generated when there are mutliple xmlns entries in the request

"Is not a valid SOAP version" exception generated when there are mutliple xmlns entries in the request
------------------------------------------------------------------------------------------------------

                 Key: CXF-1117
                 URL: https://issues.apache.org/jira/browse/CXF-1117
             Project: CXF
          Issue Type: Bug
          Components: Soap Binding
    Affects Versions: 2.0.1
         Environment: Linux X64 SLES 9 JDK 1.6_02
            Reporter: Rupert Daniel



I have a perl client using one of my SOAP services and their request looks like.....

<soap:Envelope
        xmlns:ns1="http://www.apertio.com/irate"
        xmlns:ns2="http://jaxb.dev.java.net/array"
        soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <soap:Body>
            <ns1:getSessions
                xsi:nil="true"/>
            </soap:Body>
        </soap:Envelope>

This results in the following exception on the server....

INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: "http://schemas.xmlsoap.org/wsdl/soap/" is not a valid SOAP version.
        at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:92)
        at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:57)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
        at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
        at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:139)
        at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
        at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:249)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Unknown Source)

When I use the SOAP service through one of my Java clients using the JAX-WS Proxy, it all works fine.  Below is an example of the Java client request....

<soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
        <soap:Body>
            <ns1:getSessions
                xmlns:ns1="http://www.apertio.com/irate">
                </ns1:getSessions>
            </soap:Body>
        </soap:Envelope>

Looking at the code in ReadHeadersInterceptor.java for the method handleMessage() it looks like it is only expecting one namespace URL definition in the request (I could be wrong!!!).

Any ideas on what is wrong or any possible work arounds on the server side?


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


[jira] Resolved: (CXF-1117) "Is not a valid SOAP version" exception generated when there are mutliple xmlns entries in the request

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1117.
------------------------------

       Resolution: Invalid
    Fix Version/s: Invalid
         Assignee: Daniel Kulp


The soap message that your client is sending is wrong.   The namespace on the soap:Envelope and soap:Body elements should be:

http://schemas.xmlsoap.org/soap/envelope/

but that message has it set to:

http://schemas.xmlsoap.org/wsdl/soap/



> "Is not a valid SOAP version" exception generated when there are mutliple xmlns entries in the request
> ------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1117
>                 URL: https://issues.apache.org/jira/browse/CXF-1117
>             Project: CXF
>          Issue Type: Bug
>          Components: Soap Binding
>    Affects Versions: 2.0.1
>         Environment: Linux X64 SLES 9 JDK 1.6_02
>            Reporter: Rupert Daniel
>            Assignee: Daniel Kulp
>             Fix For: Invalid
>
>
> I have a perl client using one of my SOAP services and their request looks like.....
> <soap:Envelope
>         xmlns:ns1="http://www.apertio.com/irate"
>         xmlns:ns2="http://jaxb.dev.java.net/array"
>         soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>         xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>         xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>         <soap:Body>
>             <ns1:getSessions
>                 xsi:nil="true"/>
>             </soap:Body>
>         </soap:Envelope>
> This results in the following exception on the server....
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault: "http://schemas.xmlsoap.org/wsdl/soap/" is not a valid SOAP version.
>         at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:92)
>         at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:57)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:73)
>         at org.apache.cxf.transport.servlet.ServletDestination.doMessage(ServletDestination.java:78)
>         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:231)
>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:139)
>         at org.apache.cxf.transport.servlet.CXFServlet.invoke(CXFServlet.java:271)
>         at org.apache.cxf.transport.servlet.CXFServlet.doPost(CXFServlet.java:249)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Unknown Source)
> When I use the SOAP service through one of my Java clients using the JAX-WS Proxy, it all works fine.  Below is an example of the Java client request....
> <soap:Envelope
>         xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>         <soap:Body>
>             <ns1:getSessions
>                 xmlns:ns1="http://www.apertio.com/irate">
>                 </ns1:getSessions>
>             </soap:Body>
>         </soap:Envelope>
> Looking at the code in ReadHeadersInterceptor.java for the method handleMessage() it looks like it is only expecting one namespace URL definition in the request (I could be wrong!!!).
> Any ideas on what is wrong or any possible work arounds on the server side?

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