diff options
| author | Thomas <> | 2022-06-03 07:16:44 +0200 | 
|---|---|---|
| committer | Thomas <> | 2022-06-03 07:16:44 +0200 | 
| commit | 86da2487154632cfe5b280ffd87933d08571029b (patch) | |
| tree | 5fd13d99feeb56ea512fb67c58692c63ec85e008 /modules/authmodule-eIDAS-v2/src | |
| parent | 7100b253fe4712f6c820d11ed341366b3ec67623 (diff) | |
| parent | 2eb2e6ddeb189ffb2996f3ec3b16244a67bd13e9 (diff) | |
| download | National_eIDAS_Gateway-86da2487154632cfe5b280ffd87933d08571029b.tar.gz National_eIDAS_Gateway-86da2487154632cfe5b280ffd87933d08571029b.tar.bz2 National_eIDAS_Gateway-86da2487154632cfe5b280ffd87933d08571029b.zip | |
Merge branch 'feature/eidasnode_v2.6' into feature/ms_proxy_before_refactoring
# Conflicts:
#	basicConfig/templates/error_message.html
#	modules/core_common_webapp/src/main/java/at/asitplus/eidas/specific/core/builder/AuthenticationDataBuilder.java
Diffstat (limited to 'modules/authmodule-eIDAS-v2/src')
| -rw-r--r-- | modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/BmiSoapTransactionHeaderInterceptor.java | 25 | 
1 files changed, 18 insertions, 7 deletions
| diff --git a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/BmiSoapTransactionHeaderInterceptor.java b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/BmiSoapTransactionHeaderInterceptor.java index 86568796..d1de827b 100644 --- a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/BmiSoapTransactionHeaderInterceptor.java +++ b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/BmiSoapTransactionHeaderInterceptor.java @@ -25,7 +25,14 @@ import lombok.extern.slf4j.Slf4j;   */  @Slf4j  public class BmiSoapTransactionHeaderInterceptor implements SOAPHandler<SOAPMessageContext> { -  private static final String ELEMENT = "Client-Request-Id"; +  private static final String AUTH_NS = "http://schemas.xmlsoap.org/ws/2002/04/secext"; +  private static final String AUTH_PREFIX = "wss"; +  private static final String AUTH_ELEMENT = "Security"; +   +     +  private static final String TRANS_ID_NS = "http://egov.gv.at/pvp1.xsd"; +  private static final String TRANS_IDPREFIX = "pvp"; +  private static final String TRANS_ID_ELEMENT = "Client-Request-Id";    @Override    public boolean handleMessage(SOAPMessageContext context) {         @@ -64,11 +71,15 @@ public class BmiSoapTransactionHeaderInterceptor implements SOAPHandler<SOAPMess      try {        SOAPMessage message = context.getMessage();        SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();       -      SOAPFactory soapFactory = SOAPFactory.newInstance(); +      SOAPFactory soapFactory = SOAPFactory.newInstance();       +       +      // Creating WS-Security header element +      SOAPElement wsSecHeaderElement = soapFactory.createElement(AUTH_ELEMENT, AUTH_PREFIX, AUTH_NS); -      // create header element -      SOAPElement transactionIdElm = soapFactory.createElement(ELEMENT);       -      transactionIdElm.setTextContent(TransactionIdUtils.getTransactionId()); +      // create transactionId element +      SOAPElement transactionIdElement = soapFactory.createElement(TRANS_ID_ELEMENT, TRANS_IDPREFIX, TRANS_ID_NS); +      transactionIdElement.setTextContent(TransactionIdUtils.getTransactionId()); +      wsSecHeaderElement.addChildElement(transactionIdElement);        // inject header        SOAPHeader header = envelope.getHeader(); @@ -76,7 +87,7 @@ public class BmiSoapTransactionHeaderInterceptor implements SOAPHandler<SOAPMess          header = envelope.addHeader();        }       -      header.addChildElement(transactionIdElm); +      header.addChildElement(wsSecHeaderElement);      } catch (Exception e) {        log.warn("Can NOT inject TransactionId into SOAP message. Sending message without Id ...", e); @@ -84,4 +95,4 @@ public class BmiSoapTransactionHeaderInterceptor implements SOAPHandler<SOAPMess      }        } -} +}
\ No newline at end of file | 
