Web Services 无法创建服务wsdl无效,但它在测试中正常工作

wtzytmuj  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(698)

使用环境:

  • 调试中IntelliJ
  • JBoss 7.2版
  • Java 11语言
  • JAXWS 2.3.0版

我已经在JUnit测试中创建了一个客户端,并且运行良好。当我尝试正常执行该方法时,问题出现了。我得到了错误“创建服务失败”。原因:javax.wsdl.WSDLException:WSDL异常错误(位于/soapenv:Reason):错误代码=无效WSDL:必须是项目'{http://schemas.xmlsoap.org/wsdl/}定义'
我使用“基本”服务URL。
我试过用“基本”服务URL +?wsdl在正常的方法和工作很好。为什么呢?
知道是什么吗?

错误

09:37:26,838 ERROR [es.caib.accfor.business.QueryService] (default task-4) Renova silcoiEmpleoClient: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
...
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.
    at org.apache.cxf.impl//org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:87)
    at org.apache.cxf.impl//org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:218)
    at org.apache.cxf.impl//org.apache.cxf.jaxws.ServiceImpl.initialize(ServiceImpl.java:161)
    ... 149 more
Caused by: javax.wsdl.WSDLException: WSDLException (at /soapenv:Reason): faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'.
    ...

pom.xml文件

<dependencies>
    <!-- Especificacions i llibreries proporcionades per JBoss -->
    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-8.0</artifactId>
        <type>pom</type>
        <scope>provided</scope>
    </dependency>
    <!-- Anotacions de documentació de openapi -->
    <dependency>
        <groupId>org.eclipse.microprofile.openapi</groupId>
        <artifactId>microprofile-openapi-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-core</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- Altres mòduls del projecte -->
    <dependency>
        <groupId>es.caib.accfor</groupId>
        <artifactId>accfor-commons</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>es.caib.accfor</groupId>
        <artifactId>accfor-persistence</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- Altres llibreries necessàries per aquest mòdul -->
    <!-- Només necessària per la generació de codi -->
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>0.9.11</version>
        <exclusions>
            <exclusion>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!--Dependencies per ws silcoi-->
    <!-- JAXWS for Java 11 -->
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.3.0</version>
    </dependency>
    <!-- Dependències de test -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <scope>test</scope>
    </dependency>
    <!--<dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-runner</artifactId>
        <scope>test</scope>
    </dependency>-->
    <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <scope>test</scope>
    </dependency>
    <!--<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>-->
    <!-- Per tests amb Arquillian -->
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-nop</artifactId>
        <scope>test</scope>
    </dependency>
    <!--<dependency>
        <groupId>pl.pragmatists</groupId>
        <artifactId>JUnitParams</artifactId>
        <scope>test</scope>
    </dependency>-->
    <!-- Per fer tests d'integració amb base de dades en memòria -->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc10</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
qrjkbowd

qrjkbowd1#

导致错误的原因:WSDL异常错误(位于/soapenv:Reason):错误代码=无效WSDL:必须是项目**'{http://schemas.xmlsoap.org/wsdl/}定义'**。
它似乎不识别根元素:.< wsdl:definitions >请检查您的wsdl是否正确。

相关问题