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.

Reply via email to