web-services - 为第 3 方 WS 生成 stub 类

标签 web-services grails wsdl2java

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

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

任何人都可以建议一种从这个 wsdl 创建 java 类的方法,而不必将 wsdl 分开吗?

最佳答案

我最终使用了 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 类。

希望这可以帮助。

关于web-services - 为第 3 方 WS 生成 stub 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2410094/

相关文章:

java - 将参数传递给 REST Web 服务

rest - WCF、Web API、WCF REST 和 Web 服务之间的区别?

css - Grails:图像/CSS 不时丢失

grails - 将 Grails 从 2.x 迁移到 3.x 后无法应用 gradle grails 插件

web-services - SOAP 是否总是需要 WSDL?

c# - IIS6 WebService 下 Environment.GetFolderPath(Environment.SpecialFolder.ApplicationFolder) 返回的路径错误

javascript - 如何从数据库动态更新号码

java - 如何让 axis/axis2 为生成的类生成 toString 方法?

escaping - Apache CXF wsdl2java 客户端 - CDATA 中的字符串而不是转义字符

maven - 将 maven 代码生成转换为 gradle 任务