You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Michael Berkowitz <mb...@xconnect.net> on 2008/10/26 02:58:50 UTC
Response not being parsed correctly
Our client is receiving a response to a WS call that seems fine when we
log the raw SOAP, but by the time the value bubbles up to the calling
line, it's null. The client code looks like this:
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(IPeeringDB.class);
factory.setAddress(ENDPOINT);
factory.getServiceFactory().setDataBinding(new AegisDatabinding());
client = (IPeeringDB) factory.create();
PeeringDBData pdb = client.loadData();
"pdb" ends up null.
The PeeringDBData class looks like this:
public class PeeringDBData {
private
java.util.HashMap<java.lang.String,com.xconnect.peeringserver.store.Fede
rationInfo> federations;
private
java.util.HashMap<java.lang.String,com.xconnect.peeringserver.store.Vobb
Info> vobbs;
}
The WSDL (which is generated on-the-fly from the annotated interface and
implementation) looks like this:
<wsdl:definitions name="SyncPSService"
targetNamespace="http://syncps.xconnect.com/" xmlns:ns1="http://xc.com/"
xmlns:ns2="http://cxf.apache.org/bindings/xformat"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://syncps.xconnect.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:import
location="http://localhost:8080/SyncPS/SyncPS?wsdl=IPeeringDB.wsdl"
namespace="http://DB.p.peeringserver.xconnect.com/">
</wsdl:import>
<wsdl:message name="loadData">
<wsdl:part element="ns1:loadData" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="loadDataResponse">
<wsdl:part element="ns1:loadDataResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:binding name="SyncPSServiceSoapBinding" type="ns1:IPeeringDB">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="loadData">
<soap:operation soapAction="" style="document" />
<wsdl:input name="loadData">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="loadDataResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SyncPSService">
<wsdl:port binding="tns:SyncPSServiceSoapBinding" name="SyncPSPort">
<soap:address location="http://localhost:8080/SyncPS/SyncPS" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
The response looks like this:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:loadDataResponse xmlns:ns1="http://xc.com/">
<return>
<ns2:federations xmlns:ns2="http://xc.com">
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>2004</ns3:key>
<ns3:value>
<ns4:fedRankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:federationExternalId
xmlns:ns4="http://store.ps.xc.com">2004
</ns4:federationExternalId>
<ns4:federationName
xmlns:ns4="http://store.ps.xc.com">Fed-4
</ns4:federationName>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:17.067+02:00
</ns4:objectTimestamp>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">
FEDERATION_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">11
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">FEDERATION_PRECEDENCE
</ns4:precedence>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:17+02:00
</ns4:validStart>
<ns4:vobbIdArray
xmlns:ns4="http://store.ps.xc.com">
<ns3:string>1001</ns3:string>
<ns3:string>1004</ns3:string>
</ns4:vobbIdArray>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>2002</ns3:key>
<ns3:value>
<ns4:fedRankedVobbs
xmlns:ns4="http://store.ps.xc.com">
<ns3:string>1003</ns3:string>
<ns3:string>1002</ns3:string>
<ns3:string>1004</ns3:string>
</ns4:fedRankedVobbs>
<ns4:federationExternalId
xmlns:ns4="http://store.ps.xc.com">2002
</ns4:federationExternalId>
<ns4:federationName
xmlns:ns4="http://store.ps.xc.com">Fed-2
</ns4:federationName>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:16.974+02:00
</ns4:objectTimestamp>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
<ns5:PeeringRule/>
</ns5:costSheets>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">
FEDERATION_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com">
<ns3:string>1003</ns3:string>
<ns3:string>1002</ns3:string>
<ns3:string>1004</ns3:string>
</ns5:rankedVobbs>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
<ns5:PeeringRule/>
</ns5:ratePlans>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">9
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">FEDERATION_PRECEDENCE
</ns4:precedence>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:17+02:00
</ns4:validStart>
<ns4:vobbIdArray
xmlns:ns4="http://store.ps.xc.com">
<ns3:string>1003</ns3:string>
<ns3:string>1002</ns3:string>
<ns3:string>1004</ns3:string>
</ns4:vobbIdArray>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>2003</ns3:key>
<ns3:value>
<ns4:fedRankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:federationExternalId
xmlns:ns4="http://store.ps.xc.com">2003
</ns4:federationExternalId>
<ns4:federationName
xmlns:ns4="http://store.ps.xc.com">Fed-3
</ns4:federationName>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:17.052+02:00
</ns4:objectTimestamp>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">
FEDERATION_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">10
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">FEDERATION_PRECEDENCE
</ns4:precedence>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:17+02:00
</ns4:validStart>
<ns4:vobbIdArray
xmlns:ns4="http://store.ps.xc.com">
<ns3:string>1003</ns3:string>
<ns3:string>1002</ns3:string>
</ns4:vobbIdArray>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>2001</ns3:key>
<ns3:value>
<ns4:fedRankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:federationExternalId
xmlns:ns4="http://store.ps.xc.com">2001
</ns4:federationExternalId>
<ns4:federationName
xmlns:ns4="http://store.ps.xc.com">Fed-1
</ns4:federationName>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:16.942+02:00
</ns4:objectTimestamp>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">
FEDERATION_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">8
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">FEDERATION_PRECEDENCE
</ns4:precedence>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:17+02:00
</ns4:validStart>
<ns4:vobbIdArray
xmlns:ns4="http://store.ps.xc.com">
<ns3:string>1001</ns3:string>
<ns3:string>1002</ns3:string>
</ns4:vobbIdArray>
</ns3:value>
</ns3:entry>
</ns2:federations>
<ns2:vobbs xmlns:ns2="http://xc.com">
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>1003</ns3:key>
<ns3:value>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:16.989+02:00
</ns4:objectTimestamp>
<ns4:parentId
xmlns:ns4="http://store.ps.xc.com"
xmlns:ns5="http://www.w3.org/2001/XMLSchema-instance" ns5:nil="true"/>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">VOBB_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
<ns5:PeeringRule/>
</ns5:routes>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">3
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">VOBB_PRECEDENCE
</ns4:precedence>
<ns4:rankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:14+02:00
</ns4:validStart>
<ns4:vobbExternalId
xmlns:ns4="http://store.ps.xc.com">1003
</ns4:vobbExternalId>
<ns4:vobbName
xmlns:ns4="http://store.ps.xc.com">VoBB-3</ns4:vobbName>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>1004</ns3:key>
<ns3:value>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:17.005+02:00
</ns4:objectTimestamp>
<ns4:parentId
xmlns:ns4="http://store.ps.xc.com">1003</ns4:parentId>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">VOBB_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
<ns5:PeeringRule/>
</ns5:routes>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">4
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">VOBB_PRECEDENCE
</ns4:precedence>
<ns4:rankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:14+02:00
</ns4:validStart>
<ns4:vobbExternalId
xmlns:ns4="http://store.ps.xc.com">1004
</ns4:vobbExternalId>
<ns4:vobbName
xmlns:ns4="http://store.ps.xc.com">VoBB-4</ns4:vobbName>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>1001</ns3:key>
<ns3:value>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:16.942+02:00
</ns4:objectTimestamp>
<ns4:parentId
xmlns:ns4="http://store.ps.xc.com"
xmlns:ns5="http://www.w3.org/2001/XMLSchema-instance" ns5:nil="true"/>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
</ns5:costSheets>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">VOBB_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com"/>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">1
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">VOBB_PRECEDENCE
</ns4:precedence>
<ns4:rankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:14+02:00
</ns4:validStart>
<ns4:vobbExternalId
xmlns:ns4="http://store.ps.xc.com">1001
</ns4:vobbExternalId>
<ns4:vobbName
xmlns:ns4="http://store.ps.xc.com">VoBB-1</ns4:vobbName>
</ns3:value>
</ns3:entry>
<ns3:entry xmlns:ns3="http://syncps.xc.com/">
<ns3:key>1002</ns3:key>
<ns3:value>
<ns4:objectTimestamp
xmlns:ns4="http://store.ps.xc.com">
2008-10-26T01:46:16.958+02:00
</ns4:objectTimestamp>
<ns4:parentId
xmlns:ns4="http://store.ps.xc.com">1001</ns4:parentId>
<ns4:peeringRules
xmlns:ns4="http://store.ps.xc.com">
<ns5:costSheets
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:precedence
xmlns:ns5="http://p.ps.xc.com">VOBB_PRECEDENCE
</ns5:precedence>
<ns5:rankedVobbs
xmlns:ns5="http://p.ps.xc.com"/>
<ns5:ratePlans
xmlns:ns5="http://p.ps.xc.com"
xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" ns6:nil="true"/>
<ns5:routes
xmlns:ns5="http://p.ps.xc.com">
<ns5:PeeringRule/>
</ns5:routes>
</ns4:peeringRules>
<ns4:PVPid
xmlns:ns4="http://store.ps.xc.com">2
</ns4:PVPid>
<ns4:precedence
xmlns:ns4="http://store.ps.xc.com">VOBB_PRECEDENCE
</ns4:precedence>
<ns4:rankedVobbs
xmlns:ns4="http://store.ps.xc.com"/>
<ns4:validEnd
xmlns:ns4="http://store.ps.xc.com">2200-12-31T00:00:00+02:00
</ns4:validEnd>
<ns4:validStart
xmlns:ns4="http://store.ps.xc.com">
2008-10-23T12:39:14+02:00
</ns4:validStart>
<ns4:vobbExternalId
xmlns:ns4="http://store.ps.xc.com">1002
</ns4:vobbExternalId>
<ns4:vobbName
xmlns:ns4="http://store.ps.xc.com">VoBB-2</ns4:vobbName>
</ns3:value>
</ns3:entry>
</ns2:vobbs>
</return>
</ns1:loadDataResponse>
</soap:Body>
</soap:Envelope>
I've debugged into the Aegis code, and I've seen that it recognizes the
fact that a "loadDataResponse" has been received, but still it returns
null.
Any help would be appreciated, even if it's just a suggestion as to how
to debug further.
Michael