私は他の人がクライアントとして公開しているWebサービスにアクセスしておりaxis2、abcStub .java(バッチを実行して作成されたスタブJavaファイル)のラッパーメソッドを作成し、ラッパーJavaファイル内でスタブファイルをインスタンス化しようとしました。しかし、次のエラーが発生します。
情報:エラーorg.apache.struts.actions.DispatchAction-メソッド'remTransApprove'へのディスパッチ[/remittanceTransaction]が例外を返しました
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で
java.lang.reflect.Method.invoke(Method.java:601)で
原因:java.lang.NoSuchMethodError:org.apache.neethi.PolicyEngine.getPolicy(Ljava / lang / Object;)Lorg / apache / neethi / Policy;
org.tempuri.MIRSRemittanceServicesStub.getPolicy(MIRSRemittanceServicesStub.java:3558)で
org.tempuri.MIRSRemittanceServicesStub.populateAxisService(MIRSRemittanceServicesStub.java:57)で
org.tempuri.MIRSRemittanceServicesStub。(MIRSRemittanceServicesStub.java:268)で
org.tempuri.MIRSRemittanceServicesStub。(MIRSRemittanceServicesStub.java:257)で
org.tempuri.MIRSRemittanceServicesStub。(MIRSRemittanceServicesStub.java:305)で
情報:g.tempuri.MIRSRemittanceServicesStub。(MIRSRemittanceServicesStub.java:297)
com.mtmrs.webservice.MIRSRemittanceTransactionManagerImpl.getAppDeclWrapper(MIRSRemittanceTransactionManagerImpl.java:201)で
com.mtmrs.business.backoffice.impl.RemittanceTransactionManagerImpl.remTransApprove(RemittanceTransactionManagerImpl.java:1417)で
sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)で
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)で
com.mtmrs.application.backoffice.action.RemittanceTransactionAction.remTransApprove(RemittanceTransactionAction.java:1409)で
...78もっと
情報:警告org.apache.struts.action.RequestProcessor-未処理の例外がスローされました:クラスjavax.servlet.ServletException
警告:StandardWrapperValve [action]:PWC1406:サーブレットアクションのServlet.service()が例外をスローしました
java.lang.NoSuchMethodError:org.apache.neethi.PolicyEngine.getPolicy(Ljava / lang / Object;)Lorg / apache / neethi / Policy;
org.tempuri.MIRSRemittanceServicesStub.getPolicy(MIRSRemittanceServicesStub.java:3558)で
org.tempuri.MIRSRemittanceServicesStub.populateAxisService(MIRSRemittanceServicesStub.java:57)で
org.tempuri.MIRSRemittanceServicesStub。(MIRSRemittanceServicesStub.java:268)で
これには問題があるに違いないと思います
org.apache.neethi.PolicyEngine.getPolicy(Ljava/lang/Object;)Lorg/apache/neethi/Policy;
または私は間違っている可能性があります。いずれにせよ、修正方法はわかりません。誰かが以前にこれに直面した/解決したことを知っていれば、大いに役立つでしょう。
私は次の電話をかけている間にこれを手に入れました:
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);