В настоящее время я настраиваю конечную точку 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");
Будет ли это работать?Если так, как я могу получить доступ к значению cryptoIdentifier
в пределах MyInInterceptor.handleMessage()
?