Как я могу создать прокси-сервер веб-службы за https и запрос сертификата клиента - PullRequest
1 голос
/ 29 сентября 2010

Я пытаюсь сгенерировать клиент веб-сервиса с помощью eclipse (я также пытался с jdeveloper и netbeans).WSDL находится за сервером https с запросом сертификата клиента.

Я могу подключиться и сгенерировать классы с помощью этой команды:

java -Djavax.net.ssl.trustStore=testes.keystore -Djavax.net.ssl.keyStore=testes.keystore -Djavax.net.ssl.trustStorePassword=123 -Djavax.net.ssl.keyStorePassword=123 -Dsun.security.ssl.allowUnsafeRenegotiation=true -jar D:\Java\jdevstudio10134\webservices\lib\wsa.jar -genProxy -wsdl https://urlxpto?wsdl

Но затем я получаю сообщение об ошибке ActionMismatch.Вероятно, эта ошибка происходит из библиотеки, которую я использую, поэтому я хочу попробовать с осью.Если я использую мастер в Eclipse, он выдает ошибку при попытке подключения.То же самое происходит с jdeveloper или netbeans.

Итак, вопрос: как мне это сделать?Как создать прокси веб-службы с IDE?

Или может возникнуть вопрос: как изменить часть сообщения, чтобы она соответствовала части действия в запросе мыла?

Спасибо!

1 Ответ

1 голос
/ 01 октября 2010

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

Единственный способ, который я могу придумать и который сработал для меня, был:

  • установите необходимые сертификаты в браузере;
  • вручную загрузите XML-документ WSDL;
  • вручную загрузите все XML-документы, на которые ссылается WSDL и которые находятся в том же самомdomain;
  • измените WSDL так, чтобы он указывал на xml-файлы на диске, вместо того, чтобы указывать URL-адреса, где находятся эти документы;
  • создайте клиент с помощью genproxy или WSDL2Java или с помощью мастера на WSDL надиск
  • измените код так, чтобы он указывал на исходные URL;
  • наконец добавьте сведения о хранилище ключей в сгенерированный клиент;

У меня все еще есть проблемы, но я могутеперь подключайтесь и «общайтесь» с сервером.

...