我使用Apache CXF 2.4.1将服务公开为SOAP Web服务。 我正在使用CXF的WS-Security实现来实现自定义身份验证和授权。
一切都与Spring有关。
正常的SOAP请求正在调用我的CallbackHandler。 但是当一个请求来自一个简单的GET请求时,比如使用下面的url从浏览器调用该服务,我的处理程序就不会被调用。
http://localhost:8080/ws/customerService/findById?id=1
检查CXF's WS-Security code它完全忽略了GET请求(下面的代码)。 为什么呢?
public void handleMessage(SoapMessage msg) throws Fault {
if (msg.containsKey(SECURITY_PROCESSED) || isGET(msg)) {
return;
}
...
}