当前,我们通过使用Apache Axis2 (ADB with -Eosv -Eiu options
)生成ClientStub来使用少量的SOAP WebService。
根据WSDL合同,响应中应该有一个元素(说它是“ Visible
”布尔值),但不幸的是,服务器未返回特定元素,因此
元素:可见的不能为null异常
在这种情况下,ADB选项-Eosv -Eiu似乎不起作用。
是否有办法抑制此异常并继续处理服务器返回的其余结果?
我试图使用由Apache CXF生成的存根使用相同的服务,它在单独的Spike项目(没有Axis2库)中完美地工作。但是,当我尝试将此Apache CXF生成的存根与Axis2一起带入我们的项目(用于消费除此一项特定服务之外的其他其余服务)时,Authentication Failed Exception is thrown
,,但是根本不需要身份验证
同时使用这两个服务的原因是,除此服务外,所有其他服务都在整个项目中使用Axis2生成的存根,并且不希望仅由于此一个服务调用而将这些工作代码迁移为使用CXF。
总结问题:
1)是否有一种方法可以忽略Element不能为null异常并继续剩余的值/元素/结果?
2)如果在Axis2(使用ADB)中无法使用第一个选项,那么是否有办法在同一项目中使用通过Axis2和CXF生成的客户端存根?
3)为什么CXF存根与Axis2一起使用时会引发身份验证失败的异常,但是在没有引用Axis2库的单独的独立项目中能很好地工作?
Please Note : there is no Authentication required for services and SSL context is set correctly
任何帮助将不胜感激:)
在此感谢您这么长时间的发布。