【问题标题】:How to ignore BP1.1 compliance errors using wsimport?如何使用 wsimport 忽略 BP1.1 合规性错误?
【发布时间】:2012-01-26 16:14:39
【问题描述】:

我正在尝试使用 wsimport (JDK 6) 导入 WSDL。

但是,这失败了,告诉我:

关闭 BP 1.1 一致性警告

如何在wsimport 中配置这些?

我尝试使用以下方法运行 wsimport:

wsimport http://tripauthority.com/hotel.asmx?WSDL 

但它只回复:

它不符合 WS-I BP 1.1:wsdl 绑定具有混合样式,它必须是 rpc-literal 或 document-literal 操作。尝试使用 -extension 开关运行 wsimport。

我已经尝试添加标志-extension,但 wsimport 仍然无法完成(也许我做错了?):

wsimport http://tripauthority.com/hotel.asmx?WSDL -extension

有人可以帮忙吗?谢谢

附:我不能使用 Eclipse 的向导来使用 WSDL 创建 Web 客户端,因为这将在不允许 rmi 包的 Google App Engine 上运行。除非有办法告诉此向导不要使用 RMI,否则我也会对此感兴趣。

更新

供应商另外推荐了这个,但是我不知道为此需要做什么:

建议:为了使其符合更改的实现 使用“rpc-literal”或“document-literal”SOAP 消息的服务。你 需要将显式 Use=SoapBindingUse.Literal 属性添加到所有 服务和方法级别属性:SoapRpcService、SoapRpcMethod、 SoapDocumentService,SoapDocument 方法。

建议:要使绑定符合要求,请添加显式 SoapRpcMethod 或 SoapDocumentMethod 属性到此绑定的所有 WebMethods。

【问题讨论】:

  • 能否请您发布 WSDL 列表?或者链接太长?
  • @Tudor 我在帖子中添加了指向真实 WSDL 的链接。感谢您的观看。
  • 您可以将 WSDL 下载到本地磁盘,然后从绑定元素中删除名称为“SubmitRequestRpc”的操作。然后使用本地修改的文件尝试 wsimport。
  • 好的,我试试。但是删除这些操作会产生其他影响吗?
  • 如果您没有通过这些操作调用服务,那么应该没有任何问题。问题是它们是 rpc 编码的,BP 1.1 不支持

标签: java wsdl wsimport


【解决方案1】:

您可以将 WSDL 下载到本地磁盘并从绑定元素中删除名称为“SubmitRequestRpc”的操作(如果您不使用它们)。然后使用本地修改的文件尝试 wsimport。

【讨论】:

  • 如果我们需要他们怎么解决这个问题,我的 wsdl 有问题
猜你喜欢
  • 1970-01-01
  • 2020-02-02
  • 2014-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多