Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“错误”;java.lang.NoSuchMethodError“;使用web服务部署web应用程序后_Java_Web Services_Servlets_Oc4j_Webproxy - Fatal编程技术网

“错误”;java.lang.NoSuchMethodError“;使用web服务部署web应用程序后

“错误”;java.lang.NoSuchMethodError“;使用web服务部署web应用程序后,java,web-services,servlets,oc4j,webproxy,Java,Web Services,Servlets,Oc4j,Webproxy,我正面临一个奇怪的问题,我需要你的帮助。 我使用oc4j 1013作为java容器。 我有一个简单的web服务“GetDates”,我成功地将其部署在oc4j上,并通过调用其中的方法对其进行了测试,它成功地返回了值。 然后,我使用wsdl为我的web服务创建了一个web服务代理,并从jdeveloper中进行了测试,它也成功返回。 最后,我创建了一个web应用程序,它只是一个普通的servlet,在它内部,我使用了我刚才做的web服务代理,并通过从jdeveloper运行它来测试它,它成功地返回

我正面临一个奇怪的问题,我需要你的帮助。 我使用oc4j 1013作为java容器。 我有一个简单的web服务“GetDates”,我成功地将其部署在oc4j上,并通过调用其中的方法对其进行了测试,它成功地返回了值。 然后,我使用wsdl为我的web服务创建了一个web服务代理,并从jdeveloper中进行了测试,它也成功返回。 最后,我创建了一个web应用程序,它只是一个普通的servlet,在它内部,我使用了我刚才做的web服务代理,并通过从jdeveloper运行它来测试它,它成功地返回了结果。 奇怪的是,当我决定将它部署到一个外部oc4j上时,它与web服务的oc4j相同,并调用servlet,它通过下面的异常进行调用

java.lang.NoSuchMethodError: datespackage.runtime.GetDatesWS_getDateHence_ResponseStruct_LiteralSerializer.setSOAPVersion(Loracle/j2ee/ws/common/soap/SOAPVersion;)
at datespackage.runtime.GetDatesWS_getDateHence_ResponseStruct_LiteralSerializer.<init>(GetDatesWS_getDateHence_ResponseStruct_LiteralSerializer.java:37)
at datespackage.runtime.GetDatesService_SerializerRegistry.getRegistry(GetDatesService_SerializerRegistry.java:31)
at datespackage.runtime.GetDatesService_Impl.<init>(GetDatesService_Impl.java:26)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at oracle.j2ee.ws.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:92)
at oracle.j2ee.ws.client.ServiceFactoryImpl.loadService(ServiceFactoryImpl.java:121)
at datespackage.GetDatesWSSoapHttpPortClient.<init>(GetDatesWSSoapHttpPortClient.java:22)
at webproject.indexClass.doGet(indexClass.java:27)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.0.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:619)
java.lang.NoSuchMethodError:datespackage.runtime.GetDatesWS\u GetDateThouse\u ResponseStruct\u LiteralSerializer.setSOAPVersion(Loracle/j2ee/ws/common/soap/SOAPVersion;)
at datespackage.runtime.GetDatesWS_GetDateThuse_ResponseStruct_LiteralSerializer.(GetDatesWS_GetDateThuse_ResponseStruct_LiteralSerializer.java:37)
在datespackage.runtime.GetDatesService_SerializerRegistry.getRegistry(GetDatesService_SerializerRegistry.java:31)
在datesPacage.runtime.GetDatesService\u Impl.(GetDateAsservice\u Impl.java:26)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:513)
位于java.lang.Class.newInstance0(Class.java:355)
位于java.lang.Class.newInstance(Class.java:308)
位于oracle.j2ee.ws.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:92)
位于oracle.j2ee.ws.client.ServiceFactoryImpl.loadService(ServiceFactoryImpl.java:121)
GetDatesWSSoapHttpPortClient.(GetDatesWSSoapHttpPortClient.java:22)
位于webproject.indexClass.doGet(indexClass.java:27)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
在com.evermind[Oracle Containers for J2EE10g(10.1.3.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
在com.evermind[Oracle Containers for J2EE10g(10.1.3.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
位于com.evermind[Oracle Containers for J2EE10g(10.1.3.0.0)].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
在com.evermind[Oracle Containers for J2EE 10g(10.1.3.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
在com.evermind[Oracle Containers for J2EE 10g(10.1.3.0.0)].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
在com.evermind[Oracle Containers for J2EE10g(10.1.3.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
在com.evermind[Oracle Containers for J2EE10g(10.1.3.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
位于oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
在com.evermind[Oracle Containers for J2EE 10g(10.1.3.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
运行(Thread.java:619)
我有种感觉,可能是少了一个罐子什么的

我使用的是jdeveloper1013和oc4j1013
我使用的是JDK1.5,JAR不太可能丢失,因为找到了类。它缺少特定的方法,或者该方法的签名不同。通常,当您具有相同依赖项的不同版本(例如,不同的JAR)时,会发生这种情况。如果类路径中有两个相同的类,则可能发生这种情况

确保方法签名相同,并检查包名称。客户端和服务器类应该共享同一个包。

最后,经过长时间的调查,我改变了调用web服务的方式, 我开发了一个通用客户端,它使用RPC调用调用web服务。
它工作得很好:)

我确信有相同名称的包。但是关于方法签名。。。你的意思是什么?