Ошибка 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
С Уважением,