wsimport не работает

когда я пытаюсь использовать wsimport используя следующую команду из командной строки, Она прекрасно работает:

wsimport -d generated C:Usersgeneratedwsdlfile.xml

однако, когда я пытаюсь использовать wsimport как показано ниже, он выдает следующую ошибку:

wsimport -d generated https://example.com/exampleService.svc?wsdl

Failed to read the WSDL document: https://example.com/exampleService.svc?wsdl, 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>.

[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s): At least one WSDL with at least one service definition needs to be provided.

        Failed to parse the WSDL.

Я могу получить доступ к URL-адресу из браузера, и то же самое работает из других систем (с моего ПК). Какая может быть причина?

5 ответов


Я решил эту проблему в Windows, отключив все настройки прокси-сервера следующим образом:

Internet Options > Connections > Lan Settings > Disable all check boxes

Примечание: просто добавление localhost или моего IP-адреса в качестве исключения из настроек прокси-сервера не сработало для меня.


Это, кажется, проблема с версией java, которую вы используете...

убедитесь, что у вас есть версия java "1.7.x " для решения этой проблемы.


У меня была такая же проблема, и в моем случае проблема заключалась в кодировке файла WSDL.

попробуйте открыть https://example.com/exampleService.svc?wsdl из браузера. Если он может быть полностью проанализирован, вы увидите все содержимое xml. Если нет, по крайней мере Firefox укажет вам, где проблема.

надеюсь, что это поможет кому-то в этой ситуации


попробуйте установить этот параметр в wsimport:-XdisableSSLHostnameVerification, который

отключает проверку имени хоста SSL при извлечении wsdls.


используйте ниже pom.XML.

    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <warSourceDirectory>WebContent</warSourceDirectory>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>1.9</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <phase>generate-sources</phase>
                </execution>
            </executions>
            <configuration>

                <!-- Keep generated files -->
                <keep>true</keep>
                <!-- Package name -->
                <packageName>org.example.echo.service.skeleton</packageName>
                <!-- generated source files destination -->
                <sourceDestDir>src/main/java</sourceDestDir>

                <wsdlUrls>
                    <wsdlUrl>
                        **http://localhost:8080/soapWebService/services/PersonServiceImpl?wsdl**
                    </wsdlUrl>
                </wsdlUrls>
            </configuration>
        </plugin>
    </plugins>

</build>