文档中心

    Link提供了面向企业的专业移动信息化解决方案,包含企业通讯录、群组管理、消息通讯、签到管理、企业微博、应用和服务管理、服务号管理等企业信息应用能力。

    通过深度的开放,将这些资源开放给企业内的开发者,开发者通过这些接口,可以开发出各种基于Link的新应用,或与已有应用进行整合,快速实现应用的移动化。

    本节将简要的介绍如何在一个新建Web项目中使用SDK,并实现企业服务列表的查询,更详细已开放的接口,见:后端数据接口

环境要求

  1. 操作系统:Windows Server 2003、Windows XP、Win7、Win8
  2. 框架支持:Spring MVC 3.x、JDK1.5及以上
  3. 开发工具:Eclipse(或Intell IDEA)、Maven等

环境搭建

(一) 安装开发IDE

    您需要自行下载安装Eclipse(或Intell IDEA)、Maven等工具。可以参考品高开发者站点的这篇文章,最重要的是“Maven工程模板库设置”,链接如下:https://developer.bingosoft.net/wiki/developers/bingoide:quickStart?embed=true

(二) 获取SDK工程JAR

    如果您采用Maven来管理组件依赖,并且已经配置好品高Maven组件仓库地址(https://maven.bingosoft.net/content/groups/bingo/ ),那么您可以通过Maven来完成JAR包导入。否则,您需要手动下载导入SDK工程JAR包及其依赖的其他JAR包。

(三) JDK中导入HTTPS站点证书

    因为我们需要通过SDK发送Http/Https请求,所以您需要导入Link平台站点和SSO站点(如果是Https)的SSL证书,证书获取和导入可以自行百度和参考以下链接:https://developer.bingosoft.net/blog/?p=547

新建项目

    首先新建一个空白的Spring MVC项目,如果您不熟悉如何创建SpringMVC项目,请自行百度。项目结构如下(使用了Intell IDEA,Eclipse类似):

新建Maven Web工程结构图

然后添加对SDK Jar包的引用,这里使用Maven来管理依赖,双击打开“pom.xml”,添加如下依赖配置:

<dependency>
  <groupId>bingo.link</groupId>
  <artifactId>bingo-link-api</artifactId>
  <version>1.0.0-SNAPSHOT</version>
</dependency>

此时应该可以看到项目中已经添加了对“bingo-link-api”JAR包的引用了。

添加Maven包引用

项目配置

在前一步建立的Web项目视图中的“src/main/resources”目录下新建一个名为“config”的文件夹,并且新建一个属性xml配置文件: “link-api-config.xml”。如下图所示(注意,不管采取什么项目形式,一定要确保部署后Config文件夹在“WEB-INF/classes/”(也就是classPath目录)目录下,并且文件名字要完全匹配,不然SDK将找不到配置文件):

添加配置文件

双击打开“link-api-config.xml”,我们将对SDK所需要的参数进行配置。我们首先配置授权模式,因为我们当前的Web项目并没有集成品高的SSO组件,所以我们将采取NamedAccount授权模式;然后根据实际情况配置Link平台服务基地址。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
    <comment>Link平台SDK参数配置</comment> 
    <!--授权模式,SSO(与sso集成)或NamedAccount(使用用户名和密码)-->
    <!--<entry key="mode">SSO</entry>-->
    <entry key="mode">NamedAccount</entry>
    <!--使用NamedAccount时的配置,SSO模式因为已经在项目中配置(开发者自己实现)
    这里不需要配置参数--> 
    <entry key="oauthAccessTokenUri">https://co3.gz-mstc.com:8080/sso/v2</entry>
    <entry key="accountName">lixiuling</entry> 
    <entry key="accountPassword">123123</entry> 

    <!--Link平台服务基地址配置,基本格式:link.xxxxxxx--> 
    <entry key="link.serviceBaseAddress">https://co3.gz-mstc.com:8080/uam</entry>
</properties> 

编写测试类

    由于Demo采用了Spring MVC框架,因此,这里我们将建立了一个Controller,里面有个获取企业服务列表的测试方法。在项目视图的“src/main/java/demo”下新建一个名称为“EsServiceController”的类,如下图所示:

添加测试类

双击打开新建的类,然后编写如下代码:

package demo; 

import bingo.link.sdk.handler.es.EsServiceHandler;
import bingo.link.sdk.model.es.EsService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * 企业服务的控制器
*/
@Controller
@RequestMapping("/EsService")
public class EsServiceController
{
    private EsServiceHandler esServiceHandler;

    public EsServiceController()
    {
        if (esServiceHandler == null)
        {
            this.esServiceHandler = new EsServiceHandler();
        }
    }

    @RequestMapping(value = "/listEsService", method = RequestMethod.GET)
    public ModelAndView listEsService(HttpServletRequest request, String terminalType)
    {
        List<EsService> esServiceList = this.esServiceHandler.listEsService(terminalType);
        return new ModelAndView("index").addObject("testResult", esServiceList);
    }
}

    上面的代码很简单,就是接收一个终端类型的参数,然后返回该终端类型的所有的企业服务对象,其中“esServiceHandler”是SDK封装的功能接口类,“EsService”是SDK建立的企业服务model类。
下面我们设计一下展示页面,双击打开“index.jsp”,然后编辑如下:

<%@ page import="bingo.link.sdk.model.es.EsService" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title></title>
</head>
<body>
<h3>测试结果如下:</h3>
<ul>
    <%
        if (request.getAttribute("testResult") != null)
        {
            for (EsService es : (List<EsService>) request.getAttribute("testResult"))
            {%>
                 <li><%=es.toString()%> </li>
    <%
            }
        }
    %>
</ul>
</body>
</html>

    这段Html再简单不过了,只是把从Controller传过来的列表数据通过li标签展示,es.toString()会返回EsService对象的名称和ID字段信息。

测试和分析

    经过以上三个步骤,我们已经建立了一个非常简单的可以运行的项目了,现在让我们来看看测试结果吧。在Tomcat中运行项目,然后在浏览器中输入
http://localhost:xxxx/EsService/listEsService?terminalType=2 ,回车就可以看到我们的测试结果:

测试结果

    页面很原始,但是结果很清晰。相信您走到这一步肯定长叹一声:不容易啊!我估计您会在这么几个地方卡壳:

  1. 开发环境的搭建(使用Intell IDEA会简单很多,它里面自带了很多插件,不用到处找了,它的项目格式可以和Eclipse互转,所以不用担心和Eclipse不兼容,而且它的智能提示超级棒)
  2. SpringMVC空白项目的建立
  3. SSL证书的导入