Мой коллега, который работает над Java-проектом, помог выяснить синтаксис. Я разделяю решение, потому что оно может быть полезным для других. Значение этого поста в том, что ни в документации WSIT не забыто упомянуть, что надежные службы WCF могут использоваться с клиентами Java. Надежный WCF необходим, если вам нужно написать Java-клиент, который может участвовать в длительных рабочих процессах, или клиент размещенного рабочего процесса Windows (WF).
Следующий код Java возвращает соответствующий заголовок:
private static Header getContextHeader(IDemoService port) {
Header contextHeader = null;
Iterator<Header> iterator = ((WSBindingProvider)port).getInboundHeaders().iterator();
while(iterator. hasNext()){
Header header = iterator.next();
if (header.getLocalPart().equalsIgnoreCase("Context")) {
contextHeader = header;
}
}
return contextHeader;
}
Тогда вы можете установить контекст следующим образом:
Header contextHeader = getContextHeader(port);
((WSBindingProvider)port).setOutboundHeaders(contextHeader);