【问题标题】:How to define a password to wsdl in cxf-maven-plugin如何在 cxf-maven-plugin 中定义 wsdl 的密码
【发布时间】:2011-06-15 17:34:55
【问题描述】:

我想使用 cxf-maven-plugin 根据此文档从 WSDL 生成 Java 代码:http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html

我尝试访问的服务受密码保护。如何指定密码?这似乎没有记录在案。

 <plugin>
  <groupId>org.apache.cxf</groupId>
  <artifactId>cxf-codegen-plugin</artifactId>
  <executions>
    <execution>
      <id>generate-sources</id>
      <phase>generate-sources</phase>
      <configuration>
        <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
        <wsdlOptions>
          <wsdlOption>
            <wsdl>http://host/TheService.wsdl</wsdl>
          </wsdlOption>
        </wsdlOptions>
      </configuration>
      <goals>
        <goal>wsdl2java</goal>
      </goals>
    </execution>
  </executions>
</plugin>

【问题讨论】:

  • 安德鲁是对的,没有办法,但你可以试试my answer

标签: maven cxf


【解决方案1】:

您可以像这样对 URI 使用基本身份验证方案:

<wsdl>http://username:password@host/TheService.wsdl</wsdl>

但是如果您的 wsdl 使用相对路径引用 xsd,则用户名和密码将不会用于加载那些 xsd...您可以做的是设置一个 Authenticator globaly...您需要做的是添加 exec 插件以运行一个类,该类将为当前运行的 jvm 设置默认身份验证器:

使用 http://mojo.codehaus.org/exec-maven-plugin/ 和 exec:java 在与 codegen 插件相同的 jvm 中运行您的类。 wsdl2java 的执行必须在 exec:java 之后发生。您的运行类将设置身份验证器,如下所述:http://docs.oracle.com/javase/7/docs/technotes/guides/net/http-auth.html

有一天,我们会有一个有用的 -Ddefault.authenticatorClass=package.to.my.AuthenticatorImpl jvm arg...

【讨论】:

  • 在您的回复中,您已经写了“exec:java 必须在 exec:java 之后调用”。这是什么意思?
  • 修正了设置Authenticator后必须执行wsdl2java的问题
【解决方案2】:

您是否尝试在您的user settings 文件 (~/.m2/settings.xml) 中包含主机的用户/密码?我会试试这个,看看会发生什么。

【讨论】:

  • 你的意思是在 部分吗?我将把服务器的 URL 放在哪里?
【解决方案3】:

这个插件好像没办法下载密码保护的wsdl,至少WsdlOption里面没有你实际配置的对应字段。

相反,在 CXF 版本 2.3+ 中,您可以使用 &lt;wsdlArtifact&gt;install the manually downloaded wsldfile 从 maven 存储库配置 wsdl

【讨论】:

  • 另一种解决方法,也假设您可以手动将 wsdl 下载到项目中,在 &lt;wsdl&gt; 标记中指定本地 wsdl 文件,在 &lt;wsdlLocation&gt; 中指定远程路径
猜你喜欢
  • 2014-02-26
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 2021-04-26
相关资源
最近更新 更多