使用Maven2的JAX-WS无法使用浏览器访问wsdl

时间:2009-06-10 11:48:02

标签: web-services maven-2

尝试使用jax-ws创建一些示例prgms。 我能够使用wsgen成功生成所需的工件(java文件)和wsdl文件。最后一个.war文件由maven生成。 在weblogic 9.2中部署了这个.war文件,并尝试使用IE浏览器访问wsdl。但它不起作用。 我发现了两件事

  1. 生成java和编译的类文件并捆绑在.war文件中。但是wsdl文件是在外部生成的,而不是 的.war。
  2. 通常wsgen本身会提供wsdl url。
  3. 我的疑问是:

    1. 为了在IE浏览器中获取wsdl,我需要在POM中进行哪些更改。
    2. wsdl文件应该是.war的一部分。如果是,那么我应该在哪里保存文件。
    3. 我需要做些什么更改才能在wsdl文件中获取soap location url。

1 个答案:

答案 0 :(得分:0)

你是如何触发wsgen的?在Maven打包战争之前,需要在构建生命周期中调用它。下面的配置将把wsgen执行绑定到进程资源阶段,这应该意味着wsdl输出到目标/类之下并包含在战争中。

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>jaxws-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>wsgen</id>
      <phase>process-resources</phase>
      <goals>
        <goal>wsgen</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
  ...

就你问题的第3部分而言,我不是这些事情的专家,也没有在插件中看到改变它的方法。我找到了一篇文章,展示了changed programmatically的内容,这可能有所帮助。