wsimport 不使用复杂的输入类型

2023-12-22

当我使用 wsimport 为某些服务生成代理时,每个端口的生成方法签名似乎没有使用 WSDL 中指定的复杂类型;但我注意到其他一些服务确实如此。

多种服务都发生过这种情况,但最近的例子是亚马逊的 AWSEConsumerService (链接到 WSDL http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl)。当我使用 wsimport 生成服务代理代码时,我获得了每个端口的方法签名,如下所示。

@WebMethod(operationName = "ItemLookup", action = "http://soap.amazon.com/ItemLookup")
@RequestWrapper(localName = "ItemLookup", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01", className = "com.aws.CommerceService.ItemLookup")
@ResponseWrapper(localName = "ItemLookupResponse", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01", className = "com.aws.CommerceService.ItemLookupResponse")
public void itemLookup(
    @WebParam(name = "MarketplaceDomain", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    String marketplaceDomain,
    @WebParam(name = "AWSAccessKeyId", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    String awsAccessKeyId,
    @WebParam(name = "AssociateTag", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    String associateTag,
    @WebParam(name = "Validate", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    String validate,
    @WebParam(name = "XMLEscaping", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    String xmlEscaping,
    @WebParam(name = "Shared", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    ItemLookupRequest shared,
    @WebParam(name = "Request", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01")
    List<ItemLookupRequest> request,
    @WebParam(name = "OperationRequest", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01", mode = WebParam.Mode.OUT)
    Holder<OperationRequest> operationRequest,
    @WebParam(name = "Items", targetNamespace = "http://webservices.amazon.com/AWSECommerceService/2011-08-01", mode = WebParam.Mode.OUT)
    Holder<List<Items>> items);

我希望此方法采用 WSDL 指定的单个复杂参数(在本例中为 ItemLookup 对象)。我是否从根本上误解了某些内容,或者代码生成过程中是否发生了异常情况?


我在 AWS 上也遇到了类似的问题。我遵循了 Java 的 API 设置描述(本文档的第 10 页)pdf http://s3.amazonaws.com/awsdocs/Associates/2011-08-01/prod-adv-api-gsg-2011-08-01.pdf

在步骤 2 中(针对 Eclipse 3.2),您应该创建一个包含以下内容的文件(建议名称为 jaxws-custom.xml):

<jaxws:bindings wsdlLocation="http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws">
 <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
</jaxws:bindings>

然后使用选项 -b jaxws-custom.xml 运行 wsimport 命令

我还没有弄清楚问题到底是什么,但这对我有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

wsimport 不使用复杂的输入类型 的相关文章

随机推荐

  • PHP:在共享主机上使用 browscap.ini。 - ini_set() 失败

    我正在尝试使用 get browser 不幸的是我的页面位于共享主机上 并且我无法访问 php ini 我已经下载了最新版本的 browscap ini 并将其放置在我的文档根目录中 然后我添加了以下内容 if ini set browsc
  • 是否绝对需要手动配置 IIS6 才能使用 ASP.NET MVC?

    我有一个虚拟主机回复我 无法更改 IIS6 设置来设置 mvc 到 Asp Net ISAPI dll 的映射 也无法启用通配符应用程序映射 简而言之 我无法更改任何 IIS 设置 有没有办法在这种情况下运行 ASP NET Mvc Not
  • 让 SSIS 检测 csv 文件的列大小

    我正在尝试使用 SSIS 将 csv 文件导入到 SQL 中 但遇到了一个基本缺陷 SSIS 似乎确定所有字段都是 varchar 50 即使它正确识别了逗号分隔符 当我尝试将数据发送到 SQL 中的表时 这会导致问题 有没有办法让它认识到
  • Google 地图 v2 Projection.toScreenLocation(...) 非常慢

    我已在 Android 应用程序中将 Google 地图 v1 升级到 v2 v2 很好 等等 但有一种方法似乎是我一生中最慢的事情 Projection proj map getProjection Point point proj to
  • Rails has_one 与连接表

    在我的应用程序中有Athletes 运动员可以有很多运动项目 Athlete has many sports through gt user sports has one primary sport conditions user spor
  • 编写简单语言的解析器

    我正在尝试设计一种类似于嘴唇 模式的简单语言 我已经写了它的词法分析器 tokenizer 我可以分为运算符 标识符等 但我现在尝试编写解析器 对于这一点 我只举一个例子就足够了 有人可以给我一个java代码的例子吗 此外 每个人都提到了a
  • 如何处理 scss 项目中的部分内容?

    以下问题 在我的服务器上 我在主目录中有一个 style scss 文件 我使用sass watch style scss style css style compressed因此每次编辑 style scss 时都会创建一个新的 styl
  • 如何获取 SharePoint 工作流中的参数

    我正在尝试创建一个带有输出参数的自定义工作流程操作以进行错误处理 根据各种示例 我无法让 Parameter Direction Out 工作 一切似乎都正确 但当我尝试将输出分配给 SharePoint Designer 中的 错误 变量
  • Windows:如何查询低级键盘挂钩中修饰键的状态?

    对于 USB 键盘配置工具 我需要拦截所有键盘输入并检测同时按下哪些修饰键和普通键 因此 我使用 Windows 低级挂钩 WH KEYBOARD LL 它工作正常 只是我无法确定 WIN 键 VK LWIN VK RWIN 是否被按下 c
  • 如何为未知长度的输入字符串分配内存?

    这是结构 typedef struct friend char firstname char lastname char birthdate 9 friend 我对如何让用户输入字符串并将其放置在friend结构为firstname or
  • SSIS 2012 未找到方法:无效

    最近 当我想打开 OLE DB 源组件时 我在每个 SSIS 包 使用 Visual Studio 2012 中都遇到此错误 Method not found Void Microsoft DataTransformationService
  • Mono / Ubuntu - 定义冲突

    我正在尝试在 Ubuntu 上构建一个库 Medsphere Widgets 但它抛出了一个错误 我已经进行了很好的搜索 但似乎没有人能找到答案 配置脚本工作正常 并且完成时没有警告或错误 当我去运行 make 时 它 会执行以下操作 po
  • 复制项目行为不一致?

    考虑这个目录结构 C temp A file txt C temp B 如果我运行命令 Copy Item C temp A C temp B A Recurse Force ErrorAction Stop I have C temp A
  • 如何在 Google Dialogflow Fullfilment 内联编辑器中安装 npm 包

    我想在我的聊天机器人中安装一些 npm 包 但我无法使其工作 package json 文件如下所示 name dialogflowFirebaseFulfillment description This is the default fu
  • 埃尔兰的哲学家餐厅

    如果您以前看过 哲学家就餐 那么您就会知道有几种方法可以做到这一点 我的实现创建了与消息传递进行通信的哲学家和分叉进程 我有很多关于分叉和哲学家进程格式的程序 但我自己弄清楚了 现在我将分享完成的代码 我是初学者仅供参考 祝你今天过得愉快
  • java构造函数有什么意义?

    所以我正在学习java 我已经一个月了 我刚刚了解了构造函数 但我不明白创建一个的全部目的 我为什么以及何时想要使用它 我的整体想法是它没有 main 方法 您可以从主类中调用构造函数 任何人都可以就这个话题启发我 这对我有很大帮助 构造函
  • PHP,通过POST传递数组

    这是通过以下方式发送数组的最安全的方式POST foreach id as array
  • 如何用斜杠“/”替换反斜杠“\”?

    在我的代码中我想替换反斜杠字符 通过正斜杠字符 在一个字符串中 我尝试过以下代码 string str chosen file Replace where chosen file is a string其中包含大量出现的 特点 但它似乎不起
  • 猕猴桃屏幕。我必须用 super 初始化吗?

    来自docs https kivy org docs api kivy uix screenmanager html Declare both screens class MenuScreen Screen pass class Setti
  • wsimport 不使用复杂的输入类型

    当我使用 wsimport 为某些服务生成代理时 每个端口的生成方法签名似乎没有使用 WSDL 中指定的复杂类型 但我注意到其他一些服务确实如此 多种服务都发生过这种情况 但最近的例子是亚马逊的 AWSEConsumerService 链接