Java 无法从WSDL创建客户端

Java 无法从WSDL创建客户端,java,maven,web-services,soap,wsdl,Java,Maven,Web Services,Soap,Wsdl,我正试图通过我编写的一个小客户端调用SOAP服务。我使用maven解析和创建wsdl类型 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>jaxws-maven-plugin</artifactId> <version>1.12</version> <configuration> <

我正试图通过我编写的一个小客户端调用SOAP服务。我使用maven解析和创建wsdl类型

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>jaxws-maven-plugin</artifactId>
    <version>1.12</version>
    <configuration>
        <wsdlDirectory>${basedir}/src/main/resources/META-INF/wsdl</wsdlDirectory>
        <wsdlLocation>http://localhost/wsdl/sample.wsdl</wsdlLocation>
        <packageName>com.sample</packageName>
        <keep>true</keep>
        <sourceDestDir>${basedir}/target/generated-sources/</sourceDestDir>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>wsimport</goal>
            </goals>
        </execution>
    </executions>
</plugin>
这样做,我设法解决了问题。i、 e当我调用我的小客户机时,正确的目标会得到消息

但是,我现在注意到的问题是,如果主机10.10.10.10:80关闭,而我对20.20.20.10:80的重写绑定仍然存在,那么我的客户端中会出现连接异常。错误说明如下:

Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing 'http://10.10.10.10:80/samplews/wsdl/eventmessagesws.xsd'.: java.net.ConnectException: Connection refused: connect
当我尝试用maven重新编译我的客户机时也是如此,因为我会得到以下错误:

parsing WSDL...
[ERROR] Connection timed out: connect
在确保“从不”使用默认值和始终使用动态值方面,我是否遗漏了什么?(maven和我的小客户)

原因:javax.wsdl.WSDLException:WSDLException(在 /wsdl:definitions/wsdl:types/xsd:schema):faultCode=PARSER\u错误: 问题解析 ''.: java.net.ConnectException:连接被拒绝:连接

要详细说明我的评论,请看预定义的远程主机将请求重定向到动态重置端点。您可以尝试从创建eventmessagesws.xsd和samplews.xsd的本地副本,并将其放置在资源目录中。更新模式位置以指向本地副本

<wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://sample.com/sample/1.0">
        <xsd:include
            schemaLocation="src/main/resources/samplews/wsdl/eventmessagesws.xsd" />
        <xsd:include
            schemaLocation="src/main/resources/samplews/wsdl/samplews.xsd" />
    </xsd:schema>
</wsdl:types>


你不能制作远程模式的本地副本并使用它,而不是指向10.10.10.10:80/@nayakam吗?我真的不确定。你是说编辑模式并用localhost替换所有静态ip?不过,运行maven可能会失败,不是吗?我最终下载了模式,并将它们放在相对于wsdl的位置,并且工作得非常出色。抢手货
parsing WSDL...
[ERROR] Connection timed out: connect
<wsdl:types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        targetNamespace="http://sample.com/sample/1.0">
        <xsd:include
            schemaLocation="src/main/resources/samplews/wsdl/eventmessagesws.xsd" />
        <xsd:include
            schemaLocation="src/main/resources/samplews/wsdl/samplews.xsd" />
    </xsd:schema>
</wsdl:types>