Не удается найти службу конструктора символов (URL,QName,WebServiceFeature[])

Я пытаюсь сделать модуль maven web_service_client с родительским модулем maven ism-maven. Этот модуль содержит сгенерированные классы WS. Я ничего не менял. Я использую IntelliJ IDEA 11.1.2.

Это мой pom.xml web_service_client.

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>ism-maven</artifactId>
        <groupId>sk.tuke.ism</groupId>
        <version>1.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>web_service_client</artifactId>


</project>

После того, как я запустил maven-компиляцию web_service_client, я получил эту ошибку:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project web_service_client: Compilation failure: Compilation failure:
[ERROR] \Users\Marek\Dropbox\ism-maven\web_service_client\src\main\java\sk\tuke\ism\webclient\Service1.java:[46,8] cannot find symbol
[ERROR] symbol  : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[ERROR] location: class javax.xml.ws.Service
[ERROR] \Users\Marek\Dropbox\ism-maven\web_service_client\src\main\java\sk\tuke\ism\webclient\Service1.java:[54,8] cannot find symbol
[ERROR] symbol  : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[ERROR] location: class javax.xml.ws.Service
[ERROR] \Users\Marek\Dropbox\ism-maven\web_service_client\src\main\java\sk\tuke\ism\webclient\Service1.java:[62,8] cannot find symbol
[ERROR] symbol  : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[ERROR] location: class javax.xml.ws.Service
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Я нашел здесь несколько статей об этой ошибке, но я новичок в этой области, и я не смог решить эту проблему.

Спасибо за вашу помощь.

2 ответа

Похоже, что сгенерированный код использует JAX-WS 2.2. Вы можете попытаться переопределить версию по умолчанию и установить target=2.1 или target=2.0 в вашем pom.xml:

            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <target>2.1</target>

У меня возникла точно такая же проблема, и ответ от franpas помог мне ее исправить. Вот мое решение, которое создает классы и правильно компилирует. Я также использую локальную установку Maven 3.1 на Linux.

        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <target>2.1</target>
                        <verbose>true</verbose>
                        <!-- Fix naming resolution due to ChangeOrderResponse duplicate stanza -->
                        <args>
                            <arg>-B-XautoNameResolution</arg>
                        </args>
                        <wsdlDirectory>src/main/wsdl</wsdlDirectory>
                        <wsdlFiles>
                            <wsdlFile>changeorder.wsdl</wsdlFile>
                        </wsdlFiles>
                        <packageName>com.whatever.service
                        </packageName>
                    </configuration>
                </execution>
            </executions>

            <dependencies>
                <dependency>
                    <groupId>com.sun.xml.ws</groupId>
                    <artifactId>jaxws-tools</artifactId>
                    <version>2.2.8</version>
                </dependency>

                <dependency>
                    <groupId>javax.xml.ws</groupId>
                    <artifactId>jaxws-api</artifactId>
                    <version>2.2.11</version>
                </dependency>
            </dependencies>

        </plugin>
Другие вопросы по тегам