我正在尝试将 SOAP 处理程序添加到 Web 服务。
在 @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 服务正在部署到 WebLogic 10.3 的 ear 文件中
如果我需要更好地描述一些东西,请告诉我。我是 Web 服务和 Java 的新手。
谢谢。