Java добавляет заголовок SOAP без атрибута xmlns - PullRequest
0 голосов
/ 07 марта 2012

Мне нужно добавить заголовок к SOAP-запросу, и я делаю это с помощью следующего кода:

INotificationManagement notification = host.getBasicHttpBindingINotificationManagement();

    WSBindingProvider bp = (WSBindingProvider)notification;
    bp.setOutboundHeaders(Headers.create(newQName("bob:sessionId"),sessionId));

И я получаю:

<S:Header><bob:sessionId xmlns="">aosidaosi</bob:sessionId></S:Header>

Проблема в том, что я не хочу, чтобы атрибут xmlns был там ... он должен быть просто <bob:sessionId> Я перепробовал все новые методы QName, и все же он помещает атрибут xmlns.

Есть ли какой-нибудь заголовок без атрибута xmlns?

1 Ответ

0 голосов
/ 07 марта 2012

Вы должны где-то объявить пространство имен "bob", это обязательно.Вы можете сделать это либо непосредственно в узле (как в вашем вопросе), либо где-нибудь в родительских узлах:

<S:Header xmlns:bob="bob namespace">
  <bob:sessionId>aosidaosi</bob:sessionId>
</S:Header>

или даже выше, на уровне конверта

<S:Envelope xmlns:S="http://www.w3.org/2001/12/soap-envelope" xmlns:bob="bob namespace">
  <S:Header>
    <bob:sessionId>aosidaosi</bob:sessionId>
    ...
  </S:Header>
....
</S:Envelope>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...