我们从各种系统获取服务器上的SOAP请求。在发送响应之前,我们需要向请求系统发出一些新请求以获取一些详细信息。为此,我们需要确定请求服务器的详细信息。有没有办法确定: - 请求系统VIP - 申请人IP - 其他请求者特定细节
答案 0 :(得分:0)
我假设Soap服务基于Http协议。您可以使用HttpServletRequest的getRemote ...()方法。但我不确定这些信息对您来说是否足够。另一种选择是要求客户在其请求中包含您需要的客户信息。
答案 1 :(得分:0)
如果您使用JAX-WS API,则可以使用WebServiceContext
来检索邮件元数据。只需在您的实现中注入一个引用:
@WebService(name = "MyService" /*...*/)
public class MyService {
@Resource
private WebServiceContext wsc;
@WebMethod
public MyResponse process(MyRequest request) {
HttpServletRequest httpRequest = (HttpServletRequest) wsc.getMessageContext().get(MessageContext.SERVLET_REQUEST);
httpRequest.getRemoteAddr(); // access some parameters...
return new MyResponse();
}
}
它允许您访问通过HTTP请求发出的“一切”,如来电地址。