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

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

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