2014-06-10 3 views
0

У меня возникла проблема с клиентом JAX-WS, который пытается вызвать защищенную службу. Мне нужно подписать мое сообщение с сертификатом X509, который я использую с помощью WSS4J.JAX-WS удаляет новые строки

Использование пользовательского обработчика Я печатаю подписанные сообщения в файл, и все выглядит хорошо. Сообщение делится на три строки из-за двух символов новой строки в сигнатуре сообщения. Если я скопирую это сообщение в SoapUI и отправлю его на сервер, все работает нормально.

Но если я отправлю сообщение непосредственно от клиента на сервер, я получаю SOAPFault, в котором говорится, что у меня нет хорошего заголовка безопасности.

Я сделал несколько дополнительных тестов, например, установил макет службы с использованием SoapUI, и когда я получаю сообщение от своего клиента, все находится в одной строке. Таким образом, символы новой строки из подписи были удалены, и, следовательно, сообщение больше не правильно подписано.

У кого-нибудь есть идея, как я могу противостоять этому?

Заранее спасибо.

ответ

1

Похоже, вы используете wss4j, посмотрите на documentation for this issue - Раздел Problems and errors with Signature verification.

+0

У меня нет файла wsdd, поэтому я могу установить эту опцию программно? – N0lf

+0

Я не думаю, что вам нужно настроить wss4j, что происходит с тем, что XML, который он подписывает, отличается от XML, который фактически на самом деле; похоже, что у вас есть два разных настроенных XML-маршалла. Это или прокси не является прозрачным. Я не могу помочь вам больше, у меня нет большого опыта работы с XML-криптографией. –

Смежные вопросы