我正在使用Apache Axis2 v 1.5.6和Axis1 v1.2.1
我正在使用它们从Web服务.wsdl生成Java对象。
然后我从这些对象中访问值。例如
recevedObject.getFooInfo().getFooInfoGroup1().getTheValue().
我应该在这样的情况下执行空检查。或者Axis确保没有任何Object字段为空?如果getTheValue()
返回null
,则很好。但是我不希望得到Null指针异常,因为getFooInfo()
返回null
。
答案 0 :(得分:0)
基本上,Axis有助于将SOAP(XML)响应转换为对象结构,并且使用XSD定义此SOAP元素。 因此,获取NPE取决于XSD中的XML元素声明,它将成为响应验证的源。例如。如果表示的getFooInfo元素允许在XML / SOAP响应消息中说FooInfo元素,并且如果它是nil-able,则有可能在getFooInfo()时获得NPE,如果它是非nil-able那么你将不会获得NPE。