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>