SAP调用发起泛微OA流程
SAP调用泛微Servlet接口,发起流程
编写servlet接口,给SAP调用
public class SAPCreateWorkflow extends HttpServlet{private static final long serialVersionUID = 1L;public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置请求头信息response.setHeader("Access-Control-Allow-Origin", "*");response.setHeader("Access-Control-Allow-Methods", "*");response.setHeader("Access-Control-Max-Age", "4200");response.setHeader("Access-Control-Allow-Headers", "*");response.setHeader("Access-Control-Allow-Credentials", "true");RequestInfo ri = null;//用于后面发起流程的时候int requestId = 0;message msg = new message();//用于后面创建流程成功或者失败传给SAP的信息Gson gson = new Gson();String reqString = "";// 获取请求体的输入流 BufferedReader reader = null; StringBuilder stringBuilder = new StringBuilder(); String line; try {SAPConnect connct = new SAPConnect();RecordSet rs = new RecordSet();reader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));while ((line = reader.readLine()) != null) { stringBuilder.append(line); }reqString = stringBuilder.toString();System.out.println("获取的请求传递的参数"+reqString);//SAP传递的参数JSONObject HEAD=JSON.parseObject(reqString).getJSONObject("HEAD");//将获取的String数据格式化成json数据,然后获取json中的值JSONArray ITEM=JSON.parseObject(reqString).getJSONArray("item");System.out.println("head的值"+head);System.out.println("输出item的值"+item);//一般到这里能成功输出相应json数据就表明SAP请求成功将参数传给了OA//................接下来就是通过json获取具体变量的值,然后编写创建流程的步骤了,在这里就不过多赘述了}catch(Exception e){//这里编写一些异常操作的信息}}}
以上就是对SAP调用发起OA接口的全部介绍,后半部分关于流程的创建和请求就没有关系了,直接参考泛微oa开发文档,将获取的变量数据插入到流程中即可
重要的是别忘记了,编写完servlet接口之后,需要在web.xml文件里面注册servlet接口
位置在WEB-INF中的web.xml文件
<servlet><servlet-name>SAPCreateWorkflow </servlet-name><servlet-class>com.jiuyi.servlet.SAPCreateWorkflow </servlet-class>
</servlet>
<servlet-mapping><servlet-name>SAPCreateWorkflow </servlet-name><url-pattern>/SAPCreateWorkflow </url-pattern>
</servlet-mapping>
完成以上所有步骤之后,将接口更新到测试环境,加上http前缀之后,就可以在postman中测试接口是否成功创建流程了