繁体   English   中英

调用网络服务时出错

[英]Error while making webservice call

我正在使用axis2访问其他人作为客户端公开的Web服务,并且已经为abcStub .java(通过运行某些批处理制成的Stub Java文件)创建了包装方法,并尝试实例化包装Java文件中的Stub文件。 但是我得到以下错误:

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)

我认为这一定有问题

org.apache.neethi.PolicyEngine.getPolicy(Ljava/lang/Object;)Lorg/apache/neethi/Policy; 

或可能是错误的。 无论哪种方式,dunno都无法解决。 如果有人以前知道过面对/解决过这个问题,将会有很大帮助。

我在拨打以下电话时收到了这个消息:

public String getAppDeclWrapper(String session, String parentAgent, String mirsTxnNo, String strReason, String isApprove, String modifiedBY){ String returnString = null;
try {

  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() 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM