У меня есть клиент apache cfx для вызова веб-службы с безопасностью.
в интерфейсе SOAP Мне нужно добавить в заголовки следующее:
<soapenv:Envelope xmlns:ins="XXXX" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Timestamp> </wsu:Timestamp> <wsse:UsernameToken wsu:Id="UsernameToken-6B2289D0CA22405BC615378000107281"> <wsse:Username>user</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password> <wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">evZaeGUcYYbRgQDp4RCOHQ==</wsse:Nonce> <wsu:Created>2018-09-27T14:40:10.726Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <ins:obtenerMarcas> <ins:codMarca/> </ins:obtenerMarcas> </soapenv:Body>
Обратите внимание в soapenv: заголовок Я добавил это:
<wsu:Timestamp></wsu:Timestamp>
Я хочу добавить это в процессе создания клиента У меня есть это:
WSS4JOutInterceptor userPassClientWSS4JOutInterceptor = new WSS4JOutInterceptor(); //..stuff client.getEndpoint().getOutInterceptors().add(userPassClientWSS4JOutInterceptor );
Я хотел бы добавить метку времени заголовка вэтот клиент программно.
спасибо.