SOAP / CXF: доступ к сегменту пути URL в Interceptor - PullRequest
0 голосов
/ 12 октября 2018

В настоящее время я настраиваю конечную точку 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()?

...