如何在Axis生成的代码中避免使用硬编码的url?

时间:2014-07-08 10:13:00

标签: java maven axis

我维护的项目使用axis-maven-plugin来生成源代码。此源代码用于调用PDF生成器服务。

但是,服务的url在生成的Java代码中是硬编码的。

public class GenerateReportServServiceLocator
             extends org.apache.axis.client.Service
             implements com.company.GenerateReportServService
{
    // ... 

    // Use to get a proxy class for GenerateReportServ
    private java.lang.String GenerateReportServ_address =
    /* Hardcoded URL */   "http://host:port/PdfEngine/GenerateReportServ.jws";

   // ...
}

如何告诉axis-maven-plugin使用我们的属性配置文件来查找网址?

这是pom文件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>axistools-maven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <urls>
           <url>http://host:port/PdfEngine/GenerateReportServ.jws</url>
        </urls>
        <packageSpace>com.company.project.core.pdf.engine</packageSpace>
        <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
    </configuration>
    <dependencies> 
      // ...
    </dependencies>
    <executions>
        <execution>
            <id>generate-ws-service-impression</id>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:0)

我没有找到Axis的任何选项来避免这个问题。结果,我决定重写之前由Axis生成的代码。

对我而言,我只需要写几节课。我的代码现在与环境无关。