こちらの友人の助けを借りて、Jar ファイルを Confluence プロジェクトに追加するための依存関係と手順について理解することができました。しかし、これらの JAR を追加するとエラーが発生します。表示されるエラーの正確な原因は次のとおりです。
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
caused by: java.lang.ExceptionInInitializerError
at org.apache.axis.attachments.AttachmentsImpl.<clinit>(AttachmentsImpl.java:39)
caused by: java.lang.ClassCastException: org.apache.commons.logging.impl.SLF4JLogFactory cannot be cast to org.apache.commons.logging.LogFactory
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
私がやろうとしていることは次のとおりです。
- カスタム プラグインを作成します。
- ユーザーが入力した値を受け入れることができるように UI を変更します。
- これらの資格情報を使用して Web サービス メソッドをヒットし、有効なユーザーのチケットを取得します。
現在、私はそれらを変更する権限を持っていない Web サービスのみを使用できます。その結果、8 つの重要な jar ファイルで動作します。これらのうち、私が作成したものではなく、私が使用しているものは人気のあるものです。
commons-discovery 0.2
commons-logging 1.1
jaxrpc 1.0
log4j 1.0
wsdl4j
1.0 axis 1.4
1.4 の代わりに軸 1.2.1 を使用する場合; エラーが発生します。
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.axis.description.ParameterDesc.setOmittable(Z)V
しかし、軸 1.4 を使用すると、ローカルの NON CONFLUENCE テスト サンプル Java プロジェクトで必要なチケットが得られます。(質問が非常に長くならないように、コードをペーストビンに入れています)
これは私が書いたクラスです。実際、カスタム タブを [Advanced] 領域に追加することができました。タブをクリックすると、execute メソッドがトリガーされます。
これは、結果として表示されるシステム エラー (エラーが発生したというタイトルのエラー) に表示されるエラーです。
このエラーから抜け出すために何をする必要があるかを理解するのに大いに役立つヒントがあれば教えてください。
Confluence から Web サービスを呼び出すことは、複雑な雑用ではないと確信しています。私が頼りにしているJARの組み合わせが問題を引き起こしているのでしょうか。同じことへのリードは非常に役に立ちます。