私は他の人がクライアントとして公開している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);