我开发了一个基于Web服务的Web组件,我使用Web服务发布我的服务 我想在响应中添加标题,以便客户端可以将该标题与响应结果一起使用
我的网络服务类..
@WebService()
public class FooService{
@WebMethod()
public String fooWebMethod(String input){
//----some code----
return resultString;
}
}
我的网络服务客户端类..
public class WebServInvoker {
public static void main(String[] args) {
FooServiceServiceLocator locator = new FooServiceServiceLocator();
FooService wsClient = locator.getFooServicePort();
wsClient.fooWebMethod("some string");
}
}
现在我想在Web服务响应中向用户发送额外信息,我不知道该怎么做请帮帮我
答案 0 :(得分:1)
添加处理程序。一种方法如下
@WebService()
@HandlerChain(file = "FooService-HandlerChain.xml")
public class FooService{
//your code
}
然后你的处理程序文件
<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
<handler-chain>
<service-name-pattern xmlns:ns1="yournamespacepattern">ns1:FooService</service-name-pattern>
<handler>
<handler-name>HandlerClassName</handler-name>
<handler-class>packagename.HandlerClassName</handler-class>
</handler>
然后是你的处理程序类
public class HandlerClassName implements SOAPHandler<SOAPMessageContext>
{
public HandlerClassName () {
}
public Set<QName> getHeaders(){
return // set of headers;
}
public boolean handleMessage(SOAPMessageContext context)
{
//handle message
}
}