在JDeveloper中运行时,我遇到了Web服务响应的数据问题。在JDeveloper中,服务运行正常,我得到响应,没有错误但是某些数据,特别是响应中的对象类型不正确。准确地说,自定义对象类型的列表和集合将变为空。奇怪的是,这只发生在JDeveloper中。在Eclipse中运行时没有数据差异。
详细说明问题:我从Eclipse中的wsdl生成了一个Web服务使用者/客户端代码。我选择了apache-cxf-2.7.12作为实现。生成的代码很好,我可以调用生成的Web服务客户端代码并获得预期的结果,而不会在Eclipse中出现任何问题。
然后我将生成的Web服务客户端代码导出到jar中,并添加到JDeveloper 12c中的java web项目中。我可以从JDeveloper中的类调用Web服务而不会出现任何问题,但返回对象会出现错误的数据。我不知道最近发生了什么。
以下是从Eclipse和JDeveloper运行时的日志。如您所见,myList(list)的大小在Eclipse中运行时为1,在JDeveloper中运行时为0。 Field1是一个字符串。它在JDev和Eclipse中都正确返回。
Begin main -- from Eclipse
Begin callWebService
Oct 09, 2014 2:18:13 PM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
INFO: Creating Service {http://server.edit.abc.com/}MyProcessImplService from WSDL: file:/C:/Users/johnDoe001/workspace/test1DynWebProject/WebContent/WEB-INF/wsdl/Edit.wsdl
response : field1: 2010331288
response : ************SIZE OF MYLIST: 1 *******************************
End callWebService
End main
来自JDeveloper 12c:
Begin main -- from JDeveloper
Begin callWebService
response: field1: 2010331288
response: ************SIZE OF MYLIST: 0 *******************************
End callWebService
End main