Проблема генерации jar клиента из WSDL с использованием Ant - PullRequest
2 голосов
/ 04 августа 2011

Я пытаюсь сгенерировать клиентский jar-файл из WSDL, используя сборочный файл Ant, например:

<target name="generateWSClient">
    <setproxy proxyhost="proxy" proxyport="port" />

    <wsimport wsdl="https://mywsdl" destdir="${build.dir}/clientclasses"
             verbose="true" package="com.locationservice.client">
    </wsimport>

    <jar destfile="${build.dir}/${lis.jar.name}"
         basedir="${build.dir}/clientclasses" />

    <javac srcdir="${src.dir}" destdir="${build.dir}/clientclasses"
           includes="com/locationservice/client/*.java">
        <classpath refid="client.classpath" />
    </javac>
</target>

Но я получаю это исключение при запуске Ant:

[wsimport] parsing WSDL...
[wsimport] [ERROR] sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[wsimport] Failed to read the WSDL document: https://mywsdl, because 1) could not find the document; /2) the document could not be read; 3) the root element of the document is not <wsdl:definitions>.
[wsimport] [ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s): 
[wsimport]  At least one WSDL with at least one service definition needs to be provided.
[wsimport]  Failed to parse the WSDL.

Есть какие-нибудь указатели о том, как это исправить?

Ответы [ 2 ]

0 голосов
/ 23 августа 2013

Похоже, ваш компьютер, на котором вы запускаете ant-скрипт, не имеет надлежащего сертификата для стороннего сервера. Вы пытаетесь получить доступ к WSDL через HTTPS, для которого может потребоваться установленный сертификат. Можете ли вы получить доступ к WSDL через веб-браузер? Попробуйте:

HTTPS://mywsdl?wsdl

И вы должны получить свой wsdl-XML. Если это работает, вам следует проверить сертификаты, установленные в вашем веб-браузере. Затем вы должны определить, кто из них отвечает за ваш WSDL-сервер, и вам следует установить этот сертификат на вашем компьютере.

Или, может быть, есть способ установить это в вызове ANT ... Я не знаю ...

Удачи!

0 голосов
/ 04 августа 2011

Я думаю, https://mywsdl в <wsimport> должно указывать на действительный документ WSDL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...