Java 进行webservice调用时出错

Java 进行webservice调用时出错,java,axis2,webservices-client,Java,Axis2,Webservices Client,我正在使用axis2访问一个由其他人作为客户机公开的Web服务,我为abcStub.java(通过运行批处理生成的存根java文件)创建了一个包装器方法,并尝试在包装器java文件中实例化存根文件。但我发现以下错误: INFO: ERROR org.apache.struts.actions.DispatchAction - Dispatch[/remittanceTransaction] to method 'remTransApprove' returned an exception

我正在使用
axis2
访问一个由其他人作为客户机公开的Web服务,我为abcStub.java(通过运行批处理生成的存根java文件)创建了一个包装器方法,并尝试在包装器java文件中实例化存根文件。但我发现以下错误: INFO: ERROR org.apache.struts.actions.DispatchAction - Dispatch[/remittanceTransaction] to method 'remTransApprove' returned an exception java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) Caused by: java.lang.NoSuchMethodError: org.apache.neethi.PolicyEngine.getPolicy(Ljava/lang/Object;)Lorg/apache/neethi/Policy; at org.tempuri.MIRSRemittanceServicesStub.getPolicy(MIRSRemittanceServicesStub.java:3558) at org.tempuri.MIRSRemittanceServicesStub.populateAxisService(MIRSRemittanceServicesStub.java:57) at org.tempuri.MIRSRemittanceServicesStub.(MIRSRemittanceServicesStub.java:268) at org.tempuri.MIRSRemittanceServicesStub.(MIRSRemittanceServicesStub.java:257) at org.tempuri.MIRSRemittanceServicesStub.(MIRSRemittanceServicesStub.java:305) INFO: g.tempuri.MIRSRemittanceServicesStub.(MIRSRemittanceServicesStub.java:297) at com.mtmrs.webservice.MIRSRemittanceTransactionManagerImpl.getAppDeclWrapper(MIRSRemittanceTransactionManagerImpl.java:201) at com.mtmrs.business.backoffice.impl.RemittanceTransactionManagerImpl.remTransApprove(RemittanceTransactionManagerImpl.java:1417) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.mtmrs.application.backoffice.action.RemittanceTransactionAction.remTransApprove(RemittanceTransactionAction.java:1409) ... 78 more INFO: WARN org.apache.struts.action.RequestProcessor - Unhandled Exception thrown: class javax.servlet.ServletException WARNING: StandardWrapperValve[action]: PWC1406: Servlet.service() for servlet action threw exception java.lang.NoSuchMethodError: org.apache.neethi.PolicyEngine.getPolicy(Ljava/lang/Object;)Lorg/apache/neethi/Policy; at org.tempuri.MIRSRemittanceServicesStub.getPolicy(MIRSRemittanceServicesStub.java:3558) at org.tempuri.MIRSRemittanceServicesStub.populateAxisService(MIRSRemittanceServicesStub.java:57) at org.tempuri.MIRSRemittanceServicesStub.(MIRSRemittanceServicesStub.java:268) 也许我错了。无论哪种方式,都不知道如何修复。如果以前有人知道/解决了这个问题,那会有很大帮助

我是在打以下电话时得到这个消息的:


公共字符串getAppDeclWrapper(字符串会话、字符串父代理、字符串mirsTxnNo、字符串strReason、字符串isApprove、字符串modifiedBY){
String returnString=null;
试一试{

         mtmrsLogger.info("Entering into Approve Decline procedure, Starting to send Status to MIRS");
               MIRSRemittanceServicesStub stub  = new MIRSRemittanceServicesStub(); //Error occurs at this line

               ApproveDecline approvedEcline = new ApproveDecline();
               ApproveDeclineResponse approveResponse =  new ApproveDeclineResponse();
               approvedEcline.setCParentAgent(parentAgent);
               approvedEcline.setMirsSession(session);
               approvedEcline.setModifiedBy(modifiedBY);
               approvedEcline.setRefNo(mirsTxnNo);
               approvedEcline.setStrReason(strReason);
               approvedEcline.setIsApprove(isApprove);

我猜您的类路径上有多个版本(或无效版本)的PolicyEngine。我认为您正在servlet引擎中运行。请尝试以下代码确定此版本的存储位置并修复它:

org.apache.neethi.PolicyEngine.class.getProtectionDomain().getCodeSource().getLo‌​cation() 

我猜您的类路径上有多个版本(或无效版本)的PolicyEngine。我认为您正在servlet引擎中运行。请尝试以下代码来确定此版本的存储位置并进行修复:org.apache.neethi.PolicyEngine.class.getProtectionDomain().getCodeSource().getLocation()@UsmanSaleem Thank Worked:)Neethi jar的问题,该jar有多个版本。但niw i面临严重问题:org.apache.axis2.AxisFault:服务器由于内部错误无法处理请求。已修复。我在webservice调用期间发送了错误的参数。没有问题,我将添加我的注释作为答案:)。
org.apache.neethi.PolicyEngine.class.getProtectionDomain().getCodeSource().getLo‌​cation()