>>
点击上方
懒人MES
关注我们
SAP ME有很多的API可以供内部的业务流程或外部系统来调用,这些API通过PAPI web service呈现。PAPI Web Service给开发人员提供了执行SAP ME API功能的能力,我们在开发某些功能的时候可以通过直接调用现成的API来节省很多逻辑实现和代码。
PAPI WebService包中有150多个单独的服务,每个服务都包含一个或多个操作(或者叫方法),这些方法可以用于前端和后端的接口,可以实现制造设备和业务系统之间的集成,可以用来扩展SAP ME解决方案以满足更多的业务需求。
PAPI Web Service可用于在SAP ME中执行各种业务功能,并可直接从其它应用程序中调用,只要是支持SOAP协议的应用无论是C#或者Java都可以调用PAPI Web Service。
常见的PAPI Web Service使用场景是测试机,比如产品的功能测试,通常测试机在开始测试的时候需要调用SAP ME的Web Service以获取该产品对应的信息,从而来确定本次测试的程序和流程,并且在测试结束后需要调用SAP ME的Web Service来回传测试结果。
下面我们挑选其中一个PAPI Web Service在SAP ME内部来进行简单测试,测试完后再通过外部工具soapUI发送PAPI WebService请求给SAP ME并获得返回值。
PAPI服务虽然非常多但是常用的其实也就是那么几种,本人最常用到的就是SFC相关的服务。
我们先来在内部挑选一个PAPI服务来测试一下。
本例中使用的SAP ME是15.1,NetWeaver是7.5,PAPI服务作为SAP ME产品的一部分,在部署完SAP ME后就直接可以使用。如果没有那需要先安装和配置,这里就不演示了。
- 首先通过URL http://:/nwa 访问并登入NetWeaver,然后选择SOA选项并点击Application and Scenario Communication,接着从下面列出的选项中点击Single Service Administration
- 进入后使用*号来搜索,这时会列出所有的可使用PAPI服务,
- 接着我们输入“SFC” 来搜索,在搜索出的结果中选择第一个“BrowseSfcServiceWS”,选中后下面的WSDLs选项中会显示这个PAPI的URL地址,先忽略,我们直接点击Test按键
- 跳转进入Web Services Navigator界面后,下面会列出这个PAPI服务包含的所有Operation(即方法),我们选择里面的browseSfcs方法并点击Next下一步
- 在参数中输入Site和SFC号,这个两个参数作为条件参数,然后Next下一步
- 此时会跳出弹窗要求输入账号和密码,如果你的是管理员账号,那直接输入自己的账号密码即可,输入完点击OK系统会立即执行该服务,结果如下,获取到了这个SFC对应的所有信息
- 首先从NetWeaver中获取到响应的WSDL地址,这次我们使用PAPI中的DataCollectionServiceWS服务(获取系统中某个DC_GROUP的版本号),在WSDLs选项中获取URL地址,http://localhost:51000/manufacturing-papiservices/DataCollectionServiceWSService?wsdl&mode=ws_policy
- 接着打开SOAPUI,先创建一个项目Project1,然后再项目中添加WSDL,把上面获取到的URL地址填入WSDL Location中,注意在填入的时候把URL中结尾的&mode=ws_policy去掉。
- 添加WSDL后,在项目的列表中我们可以看到这个PAPI服务包含的所有操作方法的列表,我们选择列表中的getCurrentVersion方法
- 双击打开该方法的XML内容界面,并且在左下角的属性界面中将运行这个PAPI的账号密码设置好,接着再XML内容中将调用改PAPI服务需要的输入参数写上去,此例中需要输入Site和dcGroup,然后运行
- 运行结果如下,得到的返回结果为版本A,成功从SAP ME系统外部调动了一个PAPI服务。