【问题标题】:Generating stub classes for 3rd party WS为第 3 方 WS 生成存根类
【发布时间】:2010-03-09 15:20:27
【问题描述】:

我需要将一个非常复杂的第 3 方 Web 服务整合到我的 Grails 应用程序中。我的计划是使用 WSDL2Java 从 wsdl 生成存根类,这是第 3 方文档中推荐的方法(附有示例)。首先,我尝试为 Eclipse 使用 Axis2 codegen 插件,但最终遇到了 InvocationTargetexception。我调试了插件,发现是因为wsdl是用RPC编码定义的。

有些人建议改用 Axis 1.4,所以我现在也安装了它,但遇到了 IO 异常 - 类型 {http://xml.apache.org/xml-soap}DataHandler 被引用但未定义。

任何人都可以建议一种方法来从这个 wsdl 创建 java 类,而不必破解 wsdl 吗?

【问题讨论】:

  • 只需使用axis 1.x 或Xfire 来生成客户端,如果没有发生,您可以如何传递WSDL 吗?让我试试?

标签: web-services grails wsdl2java


【解决方案1】:

我最终使用了 Axis2 wdsl2java 并将所需的注释代码复制到服务中并使用了 CXF 插件。我还在我的服务中加入了以下代码

static expose=['cxfjax']

我必须这样做的原因是因为我的方法看起来像一个“复杂的”(对于 grails)结构

   @WebMethod(operationName = "authenticate", action = "http://betterhidethis/authenticate")
   @WebResult(name = "authenticateResult", targetNamespace = "http:/betterhidethis/")
   public ArrayOfString authenticate(
       @WebParam(name = "strUserName", targetNamespace = "http://betterhidethis/")
       String strUserName,
       @WebParam(name = "strPassword", targetNamespace = "http://betterhidethis/")
       String strPassword) { 

当然,Geneerator 还创建了我稍后使用的 ArrayOfString 类。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多