2014-12-05 3 views
2

Я столкнулся с той же проблемой, что этот парень здесь:wsimport с особым характером и Xauthfile

wsimport Xauthfile error

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

Я использую ubuntu и имею JDK7 из установленного java оракула.

Я использую веб-службу третьего партнера. Пароль (... GT @ # ED ...) для веб-службы имеет символ, который конфликтует с синтаксисом de -Xauthfile (http [s]: // user: password @ host: port //) из-за «@ ». Остальные части моего пароля представляют собой точки (...).

Вот команда, я бегу:

wsimport -p loa -Xauthfile "path_to_auth.txt" https://myWS?wsdl 

В моем файле auth.txt у меня есть:

https://user:[email protected]#[email protected]?wsdl 

взамен получить

parsing WSDL...  
[ERROR] Server returned HTTP response code: 401 for URL: https://myWS?wsdl, 
"https://myWS?wsdl" needs authorization, please provide authorization file with 
read access at /home/user_name/.metro/auth or use -Xauthfile to give the 
authorization file and on each line provide authorization information using this 
format : http[s]://user:[email protected]:port//<url-path> 

Я ищу все за сетью, но без успеха.

Когда я пытаюсь импортировать WS с помощью SoapUI как в этом tutorial я получил

[ERROR] sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid 
certification path to requested target 

, и я не знаю, где указать файл Ssl для SoapUI. Я судимое в

Настройки -> Настройки SSL

, но не повезло.

Все. Я буду благодарен за любую помощь.

EDIT

ОК, так что я пройти через авторизации, меняя символы с помощью HTML URL Encoding Reference, но теперь я получаю следующее сообщение об ошибке

[ERROR] Server redirected too many times (20), "https://ws?wsdl" needs 
authorization, please provide authorization file with read access at /home/user 
/.metro/auth or use -Xauthfile to give the authorization file and on each line 
provide authorization information using this format : 
http[s]://user:[email protected]:port//<url-path> 

ответ

-1

Сначала нужно создать файл auth.txt где вам необходимо поставить следующее и сохранить его на диске C:

http://username:[email protected]:port/wsdlurl 

Теперь запустите последовательный ng:

wsimport -Xauthfile C:\auth.txt -keep http://example.com/test?wsdl 

Это сработало для меня.