使用wsdl2java生成后如何配置WS-client

使用wsdl2java生成后如何配置WS-client,java,web-services,wsdl,wsdl2java,javax,Java,Web Services,Wsdl,Wsdl2java,Javax,我正在使用Java实现.NETWeb服务的客户机。我有一些关于正确实践的问题,还有一个我需要解决的问题 我正在使用maven和wsdl2java插件,它当前设置为从web服务url获取wsdl xml,尽管我已经看到大多数示例在项目源代码中使用wsdl的本地副本。有偏好吗?我还发现,您需要再次指定wsdl位置来实例化生成的服务类,有没有办法避免这种情况 实例化服务对象时,指定服务URL的方法是什么?当前,生成的代码自动使用wsdl中指定的URL。我希望能够根据运行时变量更改地址 我想将一些配置设

我正在使用Java实现.NETWeb服务的客户机。我有一些关于正确实践的问题,还有一个我需要解决的问题

  • 我正在使用maven和wsdl2java插件,它当前设置为从web服务url获取wsdl xml,尽管我已经看到大多数示例在项目源代码中使用wsdl的本地副本。有偏好吗?我还发现,您需要再次指定wsdl位置来实例化生成的服务类,有没有办法避免这种情况
  • 实例化服务对象时,指定服务URL的方法是什么?当前,生成的代码自动使用wsdl中指定的URL。我希望能够根据运行时变量更改地址
  • 我想将一些配置设置为true,例如WS-ReliableMessaging。这样做的最佳实践是什么
  • 以下是POM中的插件:

    <plugin>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-codegen-plugin</artifactId>
      <version>${cxf.version}</version>
      <executions>
        <execution>
          <id>generate-sources</id>
          <phase>generate-sources</phase>
          <configuration>
            <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
            <wsdlOptions>
              <wsdlOption>
                <wsdl>http://ServerNameA/FooService.svc?wsdl</wsdl>
                <serviceName>FooService</serviceName>
              </wsdlOption>
            </wsdlOptions>
          </configuration>
          <goals>
            <goal>wsdl2java</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    
    FooService fooService = new FooService(new URL("http://ServerNameA/FooService.svc?wsdl"));
    IFooService service = fooService.getWSHttpBindingIFooService();
    service.getData(); // Calling one of the ports/service methods