Ошибка wsimport Xauthfile

Я пытаюсь сгенерировать классы справки java, которые мне нужны для клиента (он же потребитель) для защищенной SSL веб-службы (в Microsoft Biztalk), внешней по отношению к сети нашей компании. Мы можем получить к нему доступ только через прокси и ничего не можем изменить в самом веб-сервисе.

Это моя команда, предоставляемая инструменту wsimport:

wsimport -keep -httpproxy:theProxy.net:8080 -s c:\generatedWebService_wsImport\ -p the.java.package.I.want.to.call.it -Xauthfile c:\generatedWebService_wsImport\auth https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

и это содержимое моего файла аутентификации:

https://user:pwd@meldeservice-test.oekb.at:8080/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

И это ошибка, которую я получаю:

[ОШИБКА] Сервер вернул код ответа HTTP: 401 для URL-адреса: https: //meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL, "https: //meldeservice-test.oekb.at/Meldeserer_at_S_Service_Web_Service_Web_Service_Web asmx?WSDL"требуется авторизация. Пожалуйста, предоставьте файл авторизации с доступом для чтения по адресу C:\Documents and Settings\s6424.metro\auth или используйте -Xauthfile, чтобы предоставить файл авторизации, и в каждой строке предоставьте информацию авторизации, используя этот формат: http[s]:// пользователь: пароль @ хост: порт //

Конечно, прокси и учетные данные разные, как в этом посте. Пароль содержит специальный символ! (восклицательный знак).

Может ли кто-нибудь помочь мне с рабочим примером в подобных условиях. Я уже много искал, но не мог найти ничего, что помогло бы мне.

Есть ли где-нибудь загружаемый исходный код инструмента wsimport? Это будет как последнее средство для использования.

2 ответа

В вашем запросе вы использовали

https://meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

в вашем файле аутентификации это

meldeservice-test.oekb.at:8080/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

попробуйте удалить номер порта, измените его на

https://user:pwd@meldeservice-test.oekb.at/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

Попробуйте открыть https://user:pwd@meldeservice-test.oekb.at:8080/Meldeservice/WebService_at_oekb_biztalk_MeldeService.asmx?WSDL

с вашим браузером и сохранить в локальную папку. Позже вы можете использовать wsimport следующим образом:

wsimport -keep -sc: \ geneWebService_wsImport\ -p the.java.package.I.want.to.call.it /home/user/Download/example?WSDL

С Уважением,

Другие вопросы по тегам