在我们的应用程序中,我们需要与不同的第三方Web服务进行交互。 在一种情况下,我们必须添加一个out拦截器来操纵请求标头和主体。 我们使用的主要技术是Spring和CXF,而配置则使用XML(在Spring上下文中)。 是否只有在对特定Web服务发出请求时才有限制拦截器调用的方法。 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
当前,我配置一个SOAP端点:
CxfEndpoint e = new CxfEndpoint();
e.setAddress("http://0.0.0.0:8080/v1/my-service/my-action?ssl=true");
e.setWsdlURL("wsdl/my.wsdl");
e.getInInterceptors().add(new MyInInterceptor());
所有传入的SOAP消息主体都是加密的。 MyInInterceptor
从延伸WSS4JInInterceptor
并负责解密。 由于具有不同凭据的许多不同客户端都使用此端点,因此MyInInterceptor
需要知道正在调用哪个客户端以及要提取用于解密的凭据。
因此,我的想法是将路径段添加到服务URL,以标识用于解密的凭据。 像这样:
CxfEndpoint e = new CxfEndpoint();
e.setAddress("http://0.0.0.0:8080/v1/my-service/my-action/{cryptoIdentifier}?ssl=true");
这行得通吗? 如果是这样,如何在MyInInterceptor.handleMessage()
访问cryptoIdentifier
的值?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.