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 2009/08/05 21:54:14 UTC

[jira] Commented: (CXF-2378) Capturing SOAP body passed from SSRS in CXF method as a parameter

    [ https://issues.apache.org/jira/browse/CXF-2378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739706#action_12739706 ] 

Daniel Kulp commented on CXF-2378:
----------------------------------


That soap message has absolutely nothing to do with that wsdl.       According to the wsdl, the "query" element should be in the namespace "http://testservice.xx.com/", not "http://test.xx.jj.com".     I assume that's just an error on your part trying to mask some proprietary namespaces.   Next, according to the schema, it should have a single child element named "Request" which is a string.   Your soap message has two children, <User> and <SQL>.    Since "Request" isn't being found, it's just using null.   

> Capturing SOAP body passed from SSRS in CXF method as a parameter
> -----------------------------------------------------------------
>
>                 Key: CXF-2378
>                 URL: https://issues.apache.org/jira/browse/CXF-2378
>             Project: CXF
>          Issue Type: Task
>          Components: Soap Binding
>    Affects Versions: 2.1.2
>         Environment: Tomcat v 6
> CXF 2.1.2
> Windows XP
> Java 1.6.0_05
>            Reporter: banks 
>
> I am having problem recieving input from SSRS reporting services SOAP body as a parameter in the method defined under my CXF web service. I can see the SOAP header and body being passed but the parameter in the method is always null. Can someone suggest what is the best way to achieve this.
> SOAP mesage coming in from SSRS looks like
> INFO: Inbound Message
> ----------------------------
> Encoding: UTF-8
> Headers: {expect=[100-continue], content-type=[text/xml], connection=[Keep-Alive], host=[127.0.0.1:8082], soapaction=[http://localhost:8080/testService/Soap], content-length=[612]}
> Messages: 
> Message:
> Payload: <?xml version="1.0" encoding="utf-8"?>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>   <soap:Body>
>     <query xmlns="http://test.xx.jj.com">
>       <User>aa</User>
>       <SQL>
>              Select * from xx
>          </SQL>
>           </query>
>   </soap:Body>
> </soap:Envelope>
> --------------------------------------
> WSDL file.
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions name="TestSoapService" 
>                   targetNamespace="http://testservice.xx.com/" 
>                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
>                   xmlns:tns="http://test.xx.com/" 
>                   xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>                   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>                   xmlns:cxf="http://cxf.apache.org/transports/http/configuration">
>   <wsdl:types>
> 		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://testservice.xx.com/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://testservice.xx.com/">
> 		    
> 		   <xs:element name="query">
>            <xs:complexType>
>                     <xs:sequence>
>                         <xs:element name="Request" type="xs:string" maxOccurs="1" minOccurs="1"/>
>                     </xs:sequence>
>                 </xs:complexType>
>         </xs:element>
>         <xs:element name="response">
>            <xs:complexType>
>                     <xs:sequence>
>                         <xs:element name="Response" type="xs:string" maxOccurs="1" minOccurs="1"/>
>                     </xs:sequence>
>                 </xs:complexType>
>         </xs:element>
> 	    
>         </xs:schema>
>   </wsdl:types>
>   
>   <wsdl:message name="query">
>     <wsdl:part name="request" element="tns:query"></wsdl:part>
>   </wsdl:message>
>    <wsdl:message name="queryResponse">
>      <wsdl:part name="response" element="tns:response"></wsdl:part>
>    </wsdl:message>
>     
>    <wsdl:portType name="TestSoapInternal">
>     <wsdl:operation name="query">
>       <wsdl:input name="query" message="tns:query">
>       </wsdl:input>
>       <wsdl:output name="queryResponse" message="tns:queryResponse">
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:portType>
>   
>   <wsdl:binding name="TestSoapServiceSoapBinding" type="tns:TestSoapInternal">
>     <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
>     <wsdl:operation name="query">
>       <soap:operation soapAction="" style="document"/>
>       <wsdl:input name="query">
>         <soap:body use="literal"/>
>       </wsdl:input>
>       <wsdl:output name="queryResponse">
>         <soap:body use="literal"/>
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   
>   <wsdl:service name="TestSoapService">
>     <wsdl:port name="TestSoapServicePort" binding="tns:TestSoapServiceSoapBinding">
>       <soap:address location="http://localhost:8082/TestSoapServicePort"/>
>       <cxf:client AllowChunking="false"/>      
>     </wsdl:port>
>   </wsdl:service>
>   
> </wsdl:definitions>

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