【问题标题】:svcutil.exe does not handle ws-policysvcutil.exe 不处理 ws-policy
【发布时间】:2013-03-05 22:52:47
【问题描述】:

Svcutil.exe 给出此警告:

未处理来自命名空间“http://schemas.xmlsoap.org/ws/2004/09/policy”的可选 WSDL 扩展元素“策略”。

并且一个团队成员报告了一个类似的 Java 工具崩溃并出现异常(我没有任何详细信息)。

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:p1="urn:mycompany.com:fi:myservice" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" name="MyService" targetNamespace="urn:mycompany.com:fi:myservice">
   <wsp:UsingPolicy wsdl:required="true" />
   <wsp:Policy wsu:Id="OP_DoSomething" />
   <wsdl:portType name="MyPort">
      <wsdl:operation name="DoSomething">
         <wsp:Policy>
            <wsp:PolicyReference URI="#OP_DoSomething" />
         </wsp:Policy>
         <wsdl:input message="p1:MyRequest" />
      </wsdl:operation>
   </wsdl:portType>
</wsdl:definitions>

删除策略元素可以解决问题。任何想法为什么?

【问题讨论】:

  • 这是来自 WSE 服务吗?这可能不是当前版本标准的命名空间。
  • 这是来自 SAP PI Web 服务
  • 也许您可以查看 SAP 文档 - 关于如何生成 SAP WSDL 可能有一些选项。也许 1.2 是默认的。
  • 不确定自 2013 年以来是否有解决方案,但由于此元素是可选的,因此您似乎可以放心地忽略警告。

标签: .net web-services sap


【解决方案1】:

WS-Policy 的当前版本是 1.5 版。它使用命名空间http://www.w3.org/ns/ws-policy

见“XML Namespaces”。


确实,您似乎拥有 1.2 版。它使用http://schemas.xmlsoap.org/ws/2004/09/policy/ws-policy.xsd。见http://schemas.xmlsoap.org/ws/2004/09/policy/

【讨论】:

  • 谢谢约翰。但是,svcutil 输出与新命名空间相同的警告。
猜你喜欢
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 2018-06-26
相关资源
最近更新 更多