java - 使用 JDK 1.6.0 的 Axis 1.2 Web 服务

标签 java axis java-6

我们正在迁移使用 JDK 1.4 和 axis 1.0 构建的 axis Web 服务之一。

我们正在尝试将其迁移到 Axis 1.2 的 JDK 1.6.0,但我收到以下空指针异常。

切换回 JDK 1.4 后,相同的代码就可以正常工作。

有什么帮助吗?提前致谢。

java.lang.NullPointerException
    at au.com.michaelpage.placement.model.rdb.dao.StatusDAO.statusAlreadyExists(StatusDAO.java:275)
    at au.com.michaelpage.placement.model.rdb.dao.StatusDAO.insert(StatusDAO.java:176)
    at au.com.michaelpage.pseweb.migrator.MigratorManager.processOnlinePlacement(MigratorManager.java:55)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)
    at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)
    at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
    at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3495)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

新的堆栈跟踪。

(404)Not Found
    at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
    at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
    at org.apache.axis.client.Call.invoke(Call.java:2748)
    at org.apache.axis.client.Call.invoke(Call.java:2424)
    at org.apache.axis.client.Call.invoke(Call.java:2347)
    at org.apache.axis.client.Call.invoke(Call.java:1804)
    at au.com.michaelpage.pseweb.migrator.ws.PseMigratorSoapBindingStub.processOnlinePlacement(PseMigratorSoapBindingStub.java:115)
    at au.com.michaelpage.pseweb.migrator.MigratorScheduledTask.run(MigratorScheduledTask.java:47)
    at au.com.michaelpage.pseweb.migrator.MigratorScheduledTask.main(MigratorScheduledTask.java:35)

最佳答案

异常看起来像是来自您的代码:

au.com.michaelpage.placement.model.rdb.dao.StatusDAO.statusAlreadyExists(StatusDAO.java:275) 

您使用的是哪个版本的 WebLogic?唯一经过 JDK 6 认证的版本是 WebLogic 10.3。

我无法从堆栈跟踪中看出,但我敢打赌这与代理生成和冲突的 JAR 版本有关。

我认为从 JDK 1.4 和 Axis 1.0 升级到 JDK 6 和 Axis 1.2 充满了危险。有很多改变。您遇到困难并不奇怪。

关于java - 使用 JDK 1.6.0 的 Axis 1.2 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/822665/

相关文章:

Java 向下转型与反射

java - Android 上的 webview - Whatsapp 分享

java - Java Web 框架真的值得这么麻烦吗?

geom_text 在 ggplot2 中的相对定位?

java - 卡住最大堆空间选项

Java 泛型的实际应用

java - 将 XMl 文件转换为字符串

java - 在 Java 中找到具有最高亲和性的值对?

java - faultString : java. lang.IllegalArgumentException: 参数类型不匹配

r - 如何为三个相似的时间/值图使用公共(public) Axis