1

目前我正在开发基于 Axis2 的 Web 服务项目。在那里,当我将日志添加到服务器代码以打印特定对象的长度时(在 Skelton 返回输出之前),它会正确打印它。

但是,当我收到后将相同的代码添加到客户端时,它会给出一个空指针。(OTA_VehAvailRateRSSequence_type0 在下面的例子中为空)

OTA_VehAvailRateRS oTA_VehAvailRateRS =  stub.CarSearch(oTA_VehAvailRateRQ);
VehicleVendorAvailabilityType[] vehicleVendorAvailabilityTypes = oTA_VehAvailRateRS.getOTA_VehAvailRateRSChoice_type0().getOTA_VehAvailRateRSSequence_type0() .getVehAvailRSCore().getVehVendorAvails().getVehVendorAvail();
logger.info("buildResponse().vehicleVendorAvailabilityTypes.length : " + vehicleVendorAvailabilityTypes.length);

这可能是什么原因?物品从骷髅归还后是否有可能丢失。

4

1 回答 1

1

我可以看到一个序列类型嵌套在一个可以触发这个的选择类型旁边,OTA xsd 类型非常复杂,并且在使用 Axis2 时可能会诅咒这类问题,但我认为它与 Axis2 无关,但这可能如果是非标准 xsd 类型定义的问题,您可以尝试从 xsd 中删除 ether 嵌套序列类型或选择类型,并且还记得在生成 Axis2 代码时在客户端和服务器端具有相同的 xsd/wsdl。

于 2013-10-23T07:19:39.500 回答