【发布时间】:2015-07-19 06:06:10
【问题描述】:
我正在使用 Glassfish 和 SOAP 开发 Web 服务。我有几个 web 方法,我想将我的 webmethod 名称和他的参数介绍给 http 头请求。
例如:
我有这条路:
上下文:网络服务
webMethod:makeSomething
参数:a=2
所以我创建了一个名为 ProfilingFilter 的类:
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws java.io.IOException, javax.servlet.ServletException {
if (request.getContentLength() != -1 && context != null) {
((HttpServletResponse) response).addHeader("Operation", -->PATH+PARAMETERS);
// ((HttpServletResponse) response).addHeader("Operation", -->makeSomething?a=2);
}
}
是否可以使用 servlet 响应或 servlet 请求来获取此信息?
如果没有,我该怎么做?
【问题讨论】:
-
因为这是一个 SOAP 服务,所以没有 HTTP 读取请求。所有 SOAP 操作都是通过 HTTP PUT 方法完成的。我的建议是您安装类似 WireShark 并捕获 XML 请求,或者甚至更好地使用 SOAP UI 来捕获 XML 请求并查看实际请求。这将使您对如何实现您想要的目标有所了解。
-
你的问题不是很清楚。看起来您正在尝试将 HTTP 标头添加到 Web 服务请求中,然后才到达您的 Web 服务处理 bean。那是对的吗?您正在运行 JAX-WS 网络服务吗? “网络方法”是什么意思?您指的是 HTTP 操作还是实际的 Web 服务操作,例如 WSDL?
-
没有。当我发出请求时,我想通过 Http Servlet 响应或类似的方式将 Soap 消息响应添加到 http 标头。是的,我正在运行 jax-ws。 WebMethod 是我的 WebService 中的一个方法。
-
您想将完整的 SOAP 响应信封粘贴到 HTTP 标头中吗?为什么?不管是什么原因,由于浏览器对 HTTP 标头的大小有限制,您可能无法做到这一点。您是否对 SOAP 标头感兴趣?
-
我不想要完整的回复。只是有关肥皂内容消息的一些信息
标签: java web-services servlets webmethod