本帖最后由 andy1 于 2016-9-10 09:08 编辑
Q:怎么调用平台提供的webservice接口跟外部程序操作平台数据。
A:您好,我这边给您做个简单的例子:
1)在eclipse中新建一个web工程然后右击工程新建一个web service client。如下图所示
2) 根据业务需求输入附件提供的myApps Webservice接口wsdlURL。把此链接做下测试拿到浏览器下能不能正常访问。如图所示
注意:做该操作前,必须确保obpm程序是在发布启动状态。
3)点击finish完成操作。可以查看web工程对应生成平台封装的webservice客户端调用java类。
4) 新建一个类利用webservice跟平台交互。可参考我做的这个例子。- /**
- * @param args
- * @throws ServiceException
- * 此方法主要业务是利用webservice在myApps功能示例模板下面的模块:流程示例-->>流程分支示例中插入一条数据并启动流程
- */
-
- public void testwebservice() throws ServiceException {
- // TODO Auto-generated method stub
- DocumentServiceServiceLocator locator = new DocumentServiceServiceLocator();
- java.net.URL url;
- try {
- url = new java.net.URL("[url]http://127.0.0.1:8080/obpm/services/DocumentService?wsdl[/url]");
- DocumentService service = locator.getDocumentService(url);
- String formName = "分支流程"; //表单名
- java.util.HashMap parameters=new java.util.HashMap();
- parameters.put("字段1", "webservicetest1"); //字段名与字段值
- parameters.put("字段2","webservicetest2");
- parameters.put("_flowid","11de-9d19-ca9a81c6-91de-93bd22df4ab8");//绑定表单对应的流程ID.
- String applicationId = "11de-ef9e-c010eee1-860c-e1cadb714510"; // 应用ID
- String userid = "11de-c13a-0cf76f8b-a3db-1bc87eaaad4c";// 用户ID
- service.createDocumentAndStartFlowByDomainUser(formName, parameters, userid,applicationId);
- } catch (MalformedURLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (DocumentServiceFault e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (RemoteException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
-
- }
复制代码 PS:sp613918之前版本,均不支持net程序调用该接口,该版本号,如果用.net语言调用webservice,不可使用java.util.HashMap parameters=new java.util.HashMap();,参数使用json拼接格式。具体类似:
- string paramrs = "{'字段1':'测试5','字段2':'测试6','_flowid':'11df-e29b-ca7c34b7-8a72-99d6d163b0c9'}";//传参方式为json格式
复制代码 |