Как добавить фиктивный SOAPHandler для {http://docs.oasis -open.org / wss / 2004/01 / oasis-200401-wss-wssecurity-secext-1.0.xsd}? - PullRequest
1 голос
/ 19 декабря 2011

Я звоню в службу SOAP, которая использует WS-Security из JAVA, используя jax-ws. Проблема состоит в том, что ответ содержит несколько заголовков mustUnderstand, и я получаю элемент непонятный SoapFaultException .

Заголовок ответа выглядит следующим образом:

 <s:Header>
  <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
     <u:Timestamp u:Id="_0">
        <u:Created>2011-12-19T15:38:49.023Z</u:Created>
        <u:Expires>2011-12-19T15:43:49.023Z</u:Expires>
     </u:Timestamp>
  </o:Security>

Могу ли я добавить фиктивный SOAPHandler для этого заголовка? или, может быть, изменить его на mustUnderstand = "0"? и как?

1 Ответ

0 голосов
/ 15 июня 2017

Пропущено переопределение метода getHeaders () в обработчике. Переопределение метода getHeaders ()

@Override
    public Set<QName> getHeaders() {
        final QName securityHeader = new QName(
            "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
            "Security",
            "wsse");

        final HashSet headers = new HashSet();
        headers.add(securityHeader);

        // notify the runtime that this is handled
        return headers;
    }
...