【发布时间】:2009-10-15 00:39:38
【问题描述】:
目前,我们应用程序的每个 Web 服务都有一个为每个方法添加的用户参数。例如:
@WebService
public interface FooWebService {
@WebMethod
public Foo getFoo(@WebParam(name="alwaysHere",header=true,partName="alwaysHere") String user, @WebParam(name="fooId") Long fooId);
@WebMethod
public Result deletetFoo(@WebParam(name="alwaysHere",header=true,partName="alwaysHere") String user, @WebParam(name="fooId") Long fooId);
// ...
}
一个服务中可能有二十个方法,每个方法的第一个参数都是用户。并且可能有 20 个 Web 服务。
我们实际上并没有在实现中使用“用户”参数——事实上,我不知道它为什么存在——但我没有参与设计,把它放在那里的人是有原因的(我希望)。
不管怎样,我正在努力理顺这个大泥球。
通过 Spring 代理包装 Web 服务,我已经取得了长足的进步,这使我可以在拦截器中进行一些前后处理(在每个至少有 20 行复制粘贴的样板代码之前)方法)。
我想知道是否有某种“消息头”可以应用于方法或包,并且可以由某种类型的处理程序或每个 Web 服务方法之外的东西访问。
提前感谢您的建议, LES
【问题讨论】:
标签: java spring jax-ws dry web-services