WebサービスにSOAPハンドラーを追加しようとしています。
@WebServiceアノテーションの直後にWebサービスに追加されるアノテーションは次のとおりです。
@HandlerChain(file="MyHandler.xml")
WebサービスはWEB-INF/classesの下のサービスクラスにパッケージ化されており、ハンドラークラスはWEB-INF/libの下にあるjarにあります。
例えば:
WEB-INF/classes/com/.../MyService.class
WEB-INF/classes/com/.../MyServiceImpl.class
WEB-INF/classes/com/.../MyHandler.xml
.
.
.
WEB-INF/lib/JarProvidedToMe.jar <--- Has the handler class (MyHandler.class) in it that is referenced in MyHandler.xml
MyHandler.xml(完全修飾名を変更):
<?xml version="1.0" encoding="UTF-8"?>
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<handler>
<handler-name>com.full.path.MyHandler</handler-name>
<handler-class>com.full.path.MyHandler</handler-class>
</handler>
</handler-chain>
</handler-chains>
Webサービスをデプロイしようとすると、MyHandler.xmlで参照されているハンドラークラス(MyHandler.class)のClassNotFoundExceptionが発生します。
Eclipseを使用して、Eclipseのダイアログを使用して独自のハンドラーを追加することができました。Eclipseは、ハンドラークラスをサービスクラスと同じ場所に配置しました。ただし、jarファイルで提供されたハンドラーを使用できる必要があります。
WebサービスはearファイルでWebLogic10.3にデプロイされています
もっと良いことを説明する必要がある場合はお知らせください。私はWebサービスとJavaを初めて使用します。
ありがとう。