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.