如何去掉SAP发布的WebService中的WS:Policy

在SAP PI安装后,发布的WebService包含WS:Policy导致开源Java项目支持不佳。本文介绍了为何需要移除WS:Policy,以及如何通过SOAMANAGER手动修改WSDL中的URL,将'ws_policy'替换为'standard'来去除WS:Policy,以确保与Java客户端兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要去掉WS:Policy

在安装了PI之后,由SAP发布的WebService也和从前有所不同。

之所以要去掉WSDL中的WS:Policy,是因为目前用来产生java客户端的开源项目都对WS:Policy标签支持得不好,曾经尝试过通过WSDL生成Java Stub的开源Java项目有:Axis-1.4、Axis2-1.5.1、xfire-1.2.6、apache-cxf-2.2.8。其中Axis2能够生成可以执行的Java Stub代码,但解析某些Policy标签的时候仍然报错,虽暂时不影响使用,但始终是一个隐患,不建议使用;其余开源项目均不能根据WSDL生成可用的Java代码。

所以,当不影响业务使用的情况下,暂时不适宜使用带有WS:Policy标签的WSDL。

如何去掉WS:Policy

  1. SOAMANAGER:打开管理界面
  2. 选择“Business Administration”中的Web Service Administration
  3. 查找Z*开头的Service,选中要查看的Service,点击Apply Selection
  4. 点击“Open WSDL document for selected binding”可以查看WSDL
    图中标识Service:EndPoint的地方是通过手工配置后生成的Service和EndPoint。如果没有配置EndPoint,则不能打开WSDL。
  5. 在URL中可以看到“ws_policy”的字样
  6. 将“ws_policy”替换成“standard”,重新查看WSDL即可

附:

安装PI之前创建WebService的方法:http://blog.youkuaiyun.com/longgerr/archive/2010/05/25/5623418.aspx

安装PI之后创建WebService的方法:

关于ws:policy的说明:http://msdn.microsoft.com/en-us/library/ms996497.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值