You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by tirtza <ti...@corp.idt.net> on 2007/10/28 13:21:06 UTC

empty response object

Although I am actually getting a valid soap response from the service an
empty response object is returned to my client.  I realize this is happening
in the HolderOutInterceptor class although I did not configure my client to
use it.
What am I doing wrong?

Here is my soap response

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XM LSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <ns1:balanceEnquiryResponse
soapenv:encodingStyle="http://schemas.xmlsoap .org/soap/encoding/"
xmlns:ns1="urn:BalanceEnquiry">
            <balanceEnquiryReturn href="#id0" />
        </ns1:balanceEnquiryResponse>
        <multiRef id="id0" soapenc:root="0 "
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:BalanceEnquiryRspsInfo"
xmlns:soapenc="http://schemas.xmlsoap.org/so ap/encoding/"
xmlns:ns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com">
            <messageID xsi:type="xsd:int">235894</messageID>
            <instCode xs="xs" i:type="soapenc:string">IDT</instCode>
            <txnType xsi:type="soapenc:string">3</txnType>
            <PAN xsi:type="soapenc:string">5274421040719276</PAN>
            <localDate xs="xs" i:type="xsd:date">2007-09-28</localDate>
            <localTime xsi:type="xsd:long">134206</localTime>
            <avlBal xsi:type="xsd:double">9.0</avlBal>
            <blkAmt xsi:type="x sd:double">0.0</blkAmt>
            <currCode xsi:type="soapenc:string">GBP</currCode>
            <loginID xsi:type="soapenc:string" xsi:nil="true" />
            <sysDate xsi:type="xsd:dat e">2007-10-18</sysDate>
            <actionCode xsi:type="soapenc:string">000</actionCode>
        </multiRef>
    </soapenv:Body>
</soapenv:Envelope>
-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13452774
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by tirtza <ti...@corp.idt.net>.
Please ignore my comment at the end about the HolderOutInterceptor.  It is
not correct.


tirtza wrote:
> 
> Here is my client code.  I am able to see the soap message logged but my
> response object is empty.
> I am using CXF 2.0.2
> 
> ApplicationContext beans
> -------------------------------------------------------------------------------------
> <bean id="balanceclient"
> class="net.idt.svp.Nomad.client.service.BalanceEnquiry"
>           factory-bean="nomadclientFactory" factory-method="create"
> scope="prototype"/>
> <bean id="nomadclientFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>         <property name="serviceClass"
> value="net.idt.svp.Nomad.client.service.BalanceEnquiry"/>
>         <property name="address"
> value="http://abc.def.ghi:20903/webservices/services/BalanceEnquiry"/>
> </bean>
> 
> Client
> --------------------------------------------------------------------------------------
> FileSystemXmlApplicationContext ctx=new
> FileSystemXmlApplicationContext("config/backendAppContext.xml");
> BalanceEnquiry bal=(BalanceEnquiry)ctx.getBean("balanceclient");
> BalanceEnquiryRspsInfo res=bal.balanceEnquiry(getRequest());
> 
> cxf config file
> ----------------------------------------------------------------------------------
>     <cxf:bus>
>         <cxf:features>
>             <cxf:logging/>
>         </cxf:features>
>         <cxf:outInterceptors>
>             <bean
> class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/>
>             <bean
> class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>                 <property name="properties">
>                     <map>
>                         <entry key="action" value="Signature"/>
>                         <entry key="user" value="wally"/>
>                         <entry key="passwordCallbackClass"
> value="net.c.security.PWCallback"/>
>                         <entry key="signaturePropFile"
> value="crypto.properties"/>
>                         <entry key="signatureKeyIdentifier"
> value="DirectReference"/>
>                     </map>
>                 </property>
>             </bean>
>         </cxf:outInterceptors>
>     </cxf:bus>
>     <http-conf:conduit name="*.http-conduit">
>         <http-conf:client ConnectionTimeout="30000"
> ReceiveTimeout="30000"/>
>     </http-conf:conduit>
> 
> wsdl
> --------------------------------------------------------------------------------------------
> <wsdl:definitions targetNamespace="urn:BalanceEnquiry"
> xmlns:apachesoap="http://xml.apache.org/xml-soap"
> xmlns:impl="urn:BalanceEnquiry" xmlns:intf="urn:BalanceEnquiry"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:tns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
> xmlns:tns3="http://wsvalueobj.common.prepaid.webservices.cortex.com"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>     <wsdl:types>
>         <schema
> targetNamespace="http://wsvalueobj.common.prepaid.webservices.cortex.com"
> xmlns="http://www.w3.org/2001/XMLSchema">
>             <import
> namespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
> />
>             <import namespace="urn:BalanceEnquiry" />
>             <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
> />
>             <complexType name="SecurityDetailsInfo">
>                 <sequence>
>                     <element name="charPos" nillable="true" type="xsd:int"
> />
>                     <element name="secChkID" nillable="true"
> type="xsd:long" />
>                     <element name="secValue" nillable="true"
> type="xsd:string" />
>                 </sequence>
>             </complexType>
>         </schema>
>         <schema targetNamespace="urn:BalanceEnquiry"
> xmlns="http://www.w3.org/2001/XMLSchema">
>             <import
> namespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
> />
>             <import
> namespace="http://wsvalueobj.common.prepaid.webservices.cortex.com" />
>             <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
> />
>             <complexType name="ArrayOf_tns3_SecurityDetailsInfo"
> type="tns3:SecurityDetailsInfo[]" maxOccurs="unbounded" />
>         </schema>
>         <schema
> targetNamespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
> xmlns="http://www.w3.org/2001/XMLSchema">
>             <import
> namespace="http://wsvalueobj.common.prepaid.webservices.cortex.com" />
>             <import namespace="urn:BalanceEnquiry" />
>             <import namespace="http://schemas.xmlsoap.org/soap/encoding/"
> />
>             <complexType name="BalanceEnquiryRqstInfo">
>                 <sequence>
>                     <element name="messageID" type="xsd:int" />
>                     <element name="instCode" nillable="false"
> type="xsd:string" />
>                     <element name="txnType" nillable="false"
> type="xsd:string" />
>                     <element name="authMethod" nillable="false"
> type="xsd:string" />
>                     <element name="PAN" nillable="true" type="xsd:string"
> />
>                     <element name="DOB" nillable="true" type="xsd:date" />
>                     <element name="track2" nillable="true"
> type="xsd:string" />
>                     <element name="CVV" nillable="true" type="xsd:string"
> />
>                     <element name="accessCode" nillable="true"
> type="xsd:string" />
>                     <element name="lastName" nillable="true"
> type="xsd:string" />
>                     <element name="localDate" nillable="false"
> type="xsd:date" />
>                     <element name="localTime" type="xsd:long" />
>                     <element name="crdActpID" nillable="true"
> type="xsd:string" />
>                     <element name="loginID" nillable="true"
> type="xsd:string" />
>                     <element name="secDet" nillable="true"
> type="impl:ArrayOf_tns3_SecurityDetailsInfo" />
>                 </sequence>
>             </complexType>
>             <complexType name="BalanceEnquiryRspsInfo">
>                 <sequence>
>                     <element name="messageID" type="xsd:int" />
>                     <element name="instCode" nillable="false"
> type="xsd:string" />
>                     <element name="txnType" nillable="false"
> type="xsd:string" />
>                     <element name="PAN" nillable="false" type="xsd:string"
> />
>                     <element name="localDate" nillable="false"
> type="xsd:date" />
>                     <element name="localTime" type="xsd:long" />
>                     <element name="avlBal" type="xsd:double" />
>                     <element name="blkAmt" type="xsd:double" />
>                     <element name="currCode" nillable="true"
> type="xsd:string" />
>                     <element name="loginID" nillable="true"
> type="xsd:string" />
>                     <element name="sysDate" nillable="true"
> type="xsd:date" />
>                     <element name="actionCode" nillable="false"
> type="xsd:string" />
>                 </sequence>
>             </complexType>
>         </schema>
>     </wsdl:types>
>     <wsdl:message name="balanceEnquiryRequest">
>         <wsdl:part name="pobjBalanceEnquiryRqstInfo"
> type="tns2:BalanceEnquiryRqstInfo" />
>     </wsdl:message>
>     <wsdl:message name="balanceEnquiryResponse">
>         <wsdl:part name="balanceEnquiryReturn"
> type="tns2:BalanceEnquiryRspsInfo" />
>     </wsdl:message>
>     <wsdl:portType name="BalanceEnquiry">
>         <wsdl:operation name="balanceEnquiry"
> parameterOrder="pobjBalanceEnquiryRqstInfo">
>             <wsdl:input message="impl:balanceEnquiryRequest"
> name="balanceEnquiryRequest" />
>             <wsdl:output message="impl:balanceEnquiryResponse"
> name="balanceEnquiryResponse" />
>         </wsdl:operation>
>     </wsdl:portType>
>     <wsdl:binding name="BalanceEnquirySoapBinding"
> type="impl:BalanceEnquiry">
>         <wsdlsoap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http" />
>         <wsdl:operation name="balanceEnquiry">
>             <wsdlsoap:operation soapAction="" />
>             <wsdl:input name="balanceEnquiryRequest">
>                 <wsdlsoap:body namespace="urn:BalanceEnquiry"
> use="literal" />
>             </wsdl:input>
>             <wsdl:output name="balanceEnquiryResponse">
>                 <wsdlsoap:body namespace="urn:BalanceEnquiry"
> use="literal" />
>             </wsdl:output>
>         </wsdl:operation>
>     </wsdl:binding>
>     <wsdl:service name="BalanceEnquiryService">
>         <wsdl:port binding="impl:BalanceEnquirySoapBinding"
> name="BalanceEnquiry">
>             <wsdlsoap:address
> location="http://macari:20003/axis/services/BalanceEnquiry" />
>         </wsdl:port>
>     </wsdl:service>
> </wsdl:definitions>
> 
> 
> I stepped through cxf and this is the point where object is not getting
> populated.
> 
> HolderOutInterceptor.java
> message.put(HolderInInterceptor.CLIENT_HOLDERS, holders);
>             for (MessagePartInfo part : parts) {
>                 if (part.getIndex() > 0) {
>                     Holder holder = (Holder)outObjects.get(part.getIndex()
> - 1);
>                     outObjects.set(part.getIndex() - 1, holder.value);
>                 }
>             }
> Since there is only 1 part (response object) the index is never greater
> than 0
> 
> 
> 
> Willem2 wrote:
>> 
>> Hi ,
>> 
>> Did this message is created by CXF Server ?
>> And please tell me the CXF version that you uses.
>> If it is CXF's bug, please fill a JIRA[1] for it , and  a simple test 
>> case will be helpful for us to debug.
>> 
>> [1] http://issues.apache.org/jira/browse/CXF
>> 
>> 
>> Willem
>> 
>> tirtza wrote:
>>> I get an empty response object when using JaxWsProxyFactoryBean  as
>>> well.
>>>
>>>   
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13468821
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by tirtza <ti...@corp.idt.net>.
Here is my client code.  I am able to see the soap message logged but my
response object is empty.
I am using CXF 2.0.2

ApplicationContext beans
-------------------------------------------------------------------------------------
<bean id="balanceclient"
class="net.idt.svp.Nomad.client.service.BalanceEnquiry"
          factory-bean="nomadclientFactory" factory-method="create"
scope="prototype"/>
<bean id="nomadclientFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
        <property name="serviceClass"
value="net.idt.svp.Nomad.client.service.BalanceEnquiry"/>
        <property name="address"
value="http://abc.def.ghi:20903/webservices/services/BalanceEnquiry"/>
</bean>

Client
--------------------------------------------------------------------------------------
FileSystemXmlApplicationContext ctx=new
FileSystemXmlApplicationContext("config/backendAppContext.xml");
BalanceEnquiry bal=(BalanceEnquiry)ctx.getBean("balanceclient");
BalanceEnquiryRspsInfo res=bal.balanceEnquiry(getRequest());

cxf config file
----------------------------------------------------------------------------------
    <cxf:bus>
        <cxf:features>
            <cxf:logging/>
        </cxf:features>
        <cxf:outInterceptors>
            <bean
class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor"/>
            <bean
class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
                <property name="properties">
                    <map>
                        <entry key="action" value="Signature"/>
                        <entry key="user" value="wally"/>
                        <entry key="passwordCallbackClass"
value="net.c.security.PWCallback"/>
                        <entry key="signaturePropFile"
value="crypto.properties"/>
                        <entry key="signatureKeyIdentifier"
value="DirectReference"/>
                    </map>
                </property>
            </bean>
        </cxf:outInterceptors>
    </cxf:bus>
    <http-conf:conduit name="*.http-conduit">
        <http-conf:client ConnectionTimeout="30000" ReceiveTimeout="30000"/>
    </http-conf:conduit>

wsdl
--------------------------------------------------------------------------------------------
<wsdl:definitions targetNamespace="urn:BalanceEnquiry"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:BalanceEnquiry" xmlns:intf="urn:BalanceEnquiry"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
xmlns:tns3="http://wsvalueobj.common.prepaid.webservices.cortex.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <wsdl:types>
        <schema
targetNamespace="http://wsvalueobj.common.prepaid.webservices.cortex.com"
xmlns="http://www.w3.org/2001/XMLSchema">
            <import
namespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
/>
            <import namespace="urn:BalanceEnquiry" />
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
            <complexType name="SecurityDetailsInfo">
                <sequence>
                    <element name="charPos" nillable="true" type="xsd:int"
/>
                    <element name="secChkID" nillable="true" type="xsd:long"
/>
                    <element name="secValue" nillable="true"
type="xsd:string" />
                </sequence>
            </complexType>
        </schema>
        <schema targetNamespace="urn:BalanceEnquiry"
xmlns="http://www.w3.org/2001/XMLSchema">
            <import
namespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
/>
            <import
namespace="http://wsvalueobj.common.prepaid.webservices.cortex.com" />
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
            <complexType name="ArrayOf_tns3_SecurityDetailsInfo"
type="tns3:SecurityDetailsInfo[]" maxOccurs="unbounded" />
        </schema>
        <schema
targetNamespace="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com"
xmlns="http://www.w3.org/2001/XMLSchema">
            <import
namespace="http://wsvalueobj.common.prepaid.webservices.cortex.com" />
            <import namespace="urn:BalanceEnquiry" />
            <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
            <complexType name="BalanceEnquiryRqstInfo">
                <sequence>
                    <element name="messageID" type="xsd:int" />
                    <element name="instCode" nillable="false"
type="xsd:string" />
                    <element name="txnType" nillable="false"
type="xsd:string" />
                    <element name="authMethod" nillable="false"
type="xsd:string" />
                    <element name="PAN" nillable="true" type="xsd:string" />
                    <element name="DOB" nillable="true" type="xsd:date" />
                    <element name="track2" nillable="true" type="xsd:string"
/>
                    <element name="CVV" nillable="true" type="xsd:string" />
                    <element name="accessCode" nillable="true"
type="xsd:string" />
                    <element name="lastName" nillable="true"
type="xsd:string" />
                    <element name="localDate" nillable="false"
type="xsd:date" />
                    <element name="localTime" type="xsd:long" />
                    <element name="crdActpID" nillable="true"
type="xsd:string" />
                    <element name="loginID" nillable="true"
type="xsd:string" />
                    <element name="secDet" nillable="true"
type="impl:ArrayOf_tns3_SecurityDetailsInfo" />
                </sequence>
            </complexType>
            <complexType name="BalanceEnquiryRspsInfo">
                <sequence>
                    <element name="messageID" type="xsd:int" />
                    <element name="instCode" nillable="false"
type="xsd:string" />
                    <element name="txnType" nillable="false"
type="xsd:string" />
                    <element name="PAN" nillable="false" type="xsd:string"
/>
                    <element name="localDate" nillable="false"
type="xsd:date" />
                    <element name="localTime" type="xsd:long" />
                    <element name="avlBal" type="xsd:double" />
                    <element name="blkAmt" type="xsd:double" />
                    <element name="currCode" nillable="true"
type="xsd:string" />
                    <element name="loginID" nillable="true"
type="xsd:string" />
                    <element name="sysDate" nillable="true" type="xsd:date"
/>
                    <element name="actionCode" nillable="false"
type="xsd:string" />
                </sequence>
            </complexType>
        </schema>
    </wsdl:types>
    <wsdl:message name="balanceEnquiryRequest">
        <wsdl:part name="pobjBalanceEnquiryRqstInfo"
type="tns2:BalanceEnquiryRqstInfo" />
    </wsdl:message>
    <wsdl:message name="balanceEnquiryResponse">
        <wsdl:part name="balanceEnquiryReturn"
type="tns2:BalanceEnquiryRspsInfo" />
    </wsdl:message>
    <wsdl:portType name="BalanceEnquiry">
        <wsdl:operation name="balanceEnquiry"
parameterOrder="pobjBalanceEnquiryRqstInfo">
            <wsdl:input message="impl:balanceEnquiryRequest"
name="balanceEnquiryRequest" />
            <wsdl:output message="impl:balanceEnquiryResponse"
name="balanceEnquiryResponse" />
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="BalanceEnquirySoapBinding"
type="impl:BalanceEnquiry">
        <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="balanceEnquiry">
            <wsdlsoap:operation soapAction="" />
            <wsdl:input name="balanceEnquiryRequest">
                <wsdlsoap:body namespace="urn:BalanceEnquiry" use="literal"
/>
            </wsdl:input>
            <wsdl:output name="balanceEnquiryResponse">
                <wsdlsoap:body namespace="urn:BalanceEnquiry" use="literal"
/>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="BalanceEnquiryService">
        <wsdl:port binding="impl:BalanceEnquirySoapBinding"
name="BalanceEnquiry">
            <wsdlsoap:address
location="http://macari:20003/axis/services/BalanceEnquiry" />
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>


I stepped through cxf and this is the point where object is not getting
populated.

HolderOutInterceptor.java
message.put(HolderInInterceptor.CLIENT_HOLDERS, holders);
            for (MessagePartInfo part : parts) {
                if (part.getIndex() > 0) {
                    Holder holder = (Holder)outObjects.get(part.getIndex() -
1);
                    outObjects.set(part.getIndex() - 1, holder.value);
                }
            }
Since there is only 1 part (response object) the index is never greater than
0



Willem2 wrote:
> 
> Hi ,
> 
> Did this message is created by CXF Server ?
> And please tell me the CXF version that you uses.
> If it is CXF's bug, please fill a JIRA[1] for it , and  a simple test 
> case will be helpful for us to debug.
> 
> [1] http://issues.apache.org/jira/browse/CXF
> 
> 
> Willem
> 
> tirtza wrote:
>> I get an empty response object when using JaxWsProxyFactoryBean  as well.
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13463173
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by Willem Jiang <ni...@iona.com>.
Hi ,

Did this message is created by CXF Server ?
And please tell me the CXF version that you uses.
If it is CXF's bug, please fill a JIRA[1] for it , and  a simple test 
case will be helpful for us to debug.

[1] http://issues.apache.org/jira/browse/CXF


Willem

tirtza wrote:
> I get an empty response object when using JaxWsProxyFactoryBean  as well.
>
>   

RE: empty response object

Posted by "Liu, Jervis" <jl...@iona.com>.
Looks like you need to post a complete test case (at least the WSDL file and client side code) in order to fully understand what the problem is. 

Thanks,
Jervis

> -----Original Message-----
> From: tirtza [mailto:tirtza.bernstein@corp.idt.net]
> Sent: 2007?10?29? 3:24
> To: cxf-user@incubator.apache.org
> Subject: Re: empty response object
> 
> 
> 
> I get an empty response object when using 
> JaxWsProxyFactoryBean  as well.
> 
> -- 
> View this message in context: 
> http://www.nabble.com/empty-response-object-tf4706733.html#a13456805
> Sent from the cxf-user mailing list archive at Nabble.com.
> 

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: empty response object

Posted by tirtza <ti...@corp.idt.net>.
I get an empty response object when using JaxWsProxyFactoryBean  as well.

-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13456805
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by tirtza <ti...@corp.idt.net>.
I was using the JaxWsProxyFactoryBean  until you told me that I should switch
in  http://www.nabble.com/JaxWsProxyFactoryBean-port-change-tf4706436.html
this post 

-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13456511
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by Willem2 <ni...@iona.com>.
It may be the same issue which was cased by not using the JAXWS front end
API.
Please use JaxWsProxyFactoryBean to create the JAXWS client to use.

Willem.


tirtza wrote:
> 
> Although I am actually getting a valid soap response from the service an
> empty response object is returned to my client.  I realize this is
> happening in the HolderOutInterceptor class although I did not configure
> my client to use it.
> What am I doing wrong?
> 
> Here is my soap response
> 
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XM LSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>     <soapenv:Body>
>         <ns1:balanceEnquiryResponse
> soapenv:encodingStyle="http://schemas.xmlsoap .org/soap/encoding/"
> xmlns:ns1="urn:BalanceEnquiry">
>             <balanceEnquiryReturn href="#id0" />
>         </ns1:balanceEnquiryResponse>
>         <multiRef id="id0" soapenc:root="0 "
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xsi:type="ns2:BalanceEnquiryRspsInfo"
> xmlns:soapenc="http://schemas.xmlsoap.org/so ap/encoding/"
> xmlns:ns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex.com">
>             <messageID xsi:type="xsd:int">235894</messageID>
>             <instCode xs="xs" i:type="soapenc:string">IDT</instCode>
>             <txnType xsi:type="soapenc:string">3</txnType>
>             <PAN xsi:type="soapenc:string">5274421040719276</PAN>
>             <localDate xs="xs" i:type="xsd:date">2007-09-28</localDate>
>             <localTime xsi:type="xsd:long">134206</localTime>
>             <avlBal xsi:type="xsd:double">9.0</avlBal>
>             <blkAmt xsi:type="x sd:double">0.0</blkAmt>
>             <currCode xsi:type="soapenc:string">GBP</currCode>
>             <loginID xsi:type="soapenc:string" xsi:nil="true" />
>             <sysDate xsi:type="xsd:dat e">2007-10-18</sysDate>
>             <actionCode xsi:type="soapenc:string">000</actionCode>
>         </multiRef>
>     </soapenv:Body>
> </soapenv:Envelope>
> 

-- 
View this message in context: http://www.nabble.com/empty-response-object-tf4706733.html#a13454091
Sent from the cxf-user mailing list archive at Nabble.com.


Re: empty response object

Posted by James Mao <ja...@iona.com>.
What Dan said is correct,

But if you really want to consume/produce the rpc/enc foramt, here is a 
workaround, use the jaxws dispatch/provider api
http://weblogs.java.net/blog/jitu/archive/2006/01/accessing_googl_1.html
To be honest, I haven't tried by myself

James

> This soap message is soap encoded, not literal.   CXF (and most modern 
> WebServices toolkits) don't support the soap encoding stuff.
>
> Dan
>
>
> On Sunday 28 October 2007, tirtza wrote:
>   
>> Although I am actually getting a valid soap response from the service
>> an empty response object is returned to my client.  I realize this is
>> happening in the HolderOutInterceptor class although I did not
>> configure my client to use it.
>> What am I doing wrong?
>>
>> Here is my soap response
>>
>> <soapenv:Envelope
>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:xsd="http://www.w3.org/2001/XM LSchema"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>     <soapenv:Body>
>>         <ns1:balanceEnquiryResponse
>> soapenv:encodingStyle="http://schemas.xmlsoap .org/soap/encoding/"
>> xmlns:ns1="urn:BalanceEnquiry">
>>             <balanceEnquiryReturn href="#id0" />
>>         </ns1:balanceEnquiryResponse>
>>         <multiRef id="id0" soapenc:root="0 "
>> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>> xsi:type="ns2:BalanceEnquiryRspsInfo"
>> xmlns:soapenc="http://schemas.xmlsoap.org/so ap/encoding/"
>> xmlns:ns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex
>> .com"> <messageID xsi:type="xsd:int">235894</messageID>
>>             <instCode xs="xs" i:type="soapenc:string">IDT</instCode>
>>             <txnType xsi:type="soapenc:string">3</txnType>
>>             <PAN xsi:type="soapenc:string">5274421040719276</PAN>
>>             <localDate xs="xs"
>> i:type="xsd:date">2007-09-28</localDate> <localTime
>> xsi:type="xsd:long">134206</localTime> <avlBal
>> xsi:type="xsd:double">9.0</avlBal>
>>             <blkAmt xsi:type="x sd:double">0.0</blkAmt>
>>             <currCode xsi:type="soapenc:string">GBP</currCode>
>>             <loginID xsi:type="soapenc:string" xsi:nil="true" />
>>             <sysDate xsi:type="xsd:dat e">2007-10-18</sysDate>
>>             <actionCode xsi:type="soapenc:string">000</actionCode>
>>         </multiRef>
>>     </soapenv:Body>
>> </soapenv:Envelope>
>>     
>
>
>
>   

Re: empty response object

Posted by Daniel Kulp <dk...@apache.org>.
This soap message is soap encoded, not literal.   CXF (and most modern 
WebServices toolkits) don't support the soap encoding stuff.

Dan


On Sunday 28 October 2007, tirtza wrote:
> Although I am actually getting a valid soap response from the service
> an empty response object is returned to my client.  I realize this is
> happening in the HolderOutInterceptor class although I did not
> configure my client to use it.
> What am I doing wrong?
>
> Here is my soap response
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XM LSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>     <soapenv:Body>
>         <ns1:balanceEnquiryResponse
> soapenv:encodingStyle="http://schemas.xmlsoap .org/soap/encoding/"
> xmlns:ns1="urn:BalanceEnquiry">
>             <balanceEnquiryReturn href="#id0" />
>         </ns1:balanceEnquiryResponse>
>         <multiRef id="id0" soapenc:root="0 "
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xsi:type="ns2:BalanceEnquiryRspsInfo"
> xmlns:soapenc="http://schemas.xmlsoap.org/so ap/encoding/"
> xmlns:ns2="http://wsvalueobj.BalanceEnquiry.prepaid.webservices.cortex
>.com"> <messageID xsi:type="xsd:int">235894</messageID>
>             <instCode xs="xs" i:type="soapenc:string">IDT</instCode>
>             <txnType xsi:type="soapenc:string">3</txnType>
>             <PAN xsi:type="soapenc:string">5274421040719276</PAN>
>             <localDate xs="xs"
> i:type="xsd:date">2007-09-28</localDate> <localTime
> xsi:type="xsd:long">134206</localTime> <avlBal
> xsi:type="xsd:double">9.0</avlBal>
>             <blkAmt xsi:type="x sd:double">0.0</blkAmt>
>             <currCode xsi:type="soapenc:string">GBP</currCode>
>             <loginID xsi:type="soapenc:string" xsi:nil="true" />
>             <sysDate xsi:type="xsd:dat e">2007-10-18</sysDate>
>             <actionCode xsi:type="soapenc:string">000</actionCode>
>         </multiRef>
>     </soapenv:Body>
> </soapenv:Envelope>



-- 
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
daniel.kulp@iona.com
http://www.dankulp.com/blog