我是靠谱客的博主 魔幻篮球,最近开发中收集的这篇文章主要介绍webservice写接口供第三方调用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

继承类以及继承实现父类方法

public class FileCountParse extends AbstractParse {
    public FileCountParse(Document doc) {
        super(doc);
        // TODO Auto-generated constructor stub
    }
    .......... 
}

获取传给接口的值

        Element rootElement = this.doc.getRootElement();
        //获取当前页
        Element startPageElement = rootElement.getChild("startPage");
        startPage = startPageElement.getValue();

通过获取的参数在本系统获取响应的数据,并对数据进行封装

  result += "<dealedWorkFlowList>";
                    //组织名标识
                    result += "<orgName>" + orgName + "</orgName>";
                    for (int i = 0; i < list.size(); i++) {
                        Object[] obj = (Object[]) list.get(i);
                        //发文日期、文号、标题、拟稿单位
                        result += "<dealedWorkFlow>";

                        result += "<workTitle><![CDATA[" + obj[0] + "]]></workTitle>";
                        result += "<createdTime>" + obj[1] + "</createdTime>";
                        result += "<wenhao>" + obj[2] + "</wenhao>";
                        result += "<lwdw>" + obj[3] + "</lwdw>";
                        //添加id
                        result += "<informationId>" + obj[4] + "</informationId>";
                        result += "</dealedWorkFlow>";
                    }
                    result += "<recordCount>" + map.get("recordCount") + "</recordCount>";
                    result += "</dealedWorkFlowList>";

至此,后台代码完成;webservice的实体和方法要在配置文件中配置,本次开发配置写在servicePase.xml中;

<service id="c60">
          <class>com.whir.rd.parse.FileCountParse</class>
       <methods>
	      <method>getSendFileList</method>
	      <method>getReceiveFileList</method>
		  <method>getAgencyFileList</method>
       </methods>
	</service>

配置完成后,代码部分完成,但是不要忘了写接口文档,供第三方同事参考:

/*** 获取发文  key  参数固定值   DFFD512F3C274EC11AF53753FC82B483
 * type  月/季度/年     month/quarter/year
 * userACcounts     用户名
 *startPage   当前页
 *pageSize    一页几行
 */
 "<input>" +
"<key>DFFD512F3C274EC11AF53753FC82B483</key>" +
"<cmd>getSendFileList</cmd>" +
"<type>year</type>" +
"<userACcounts>曾斌</userACcounts>" +
"<startPage>1</startPage>"
"<pageSize>10</pageSize>"
"</input>";

顺便说一下从第三方系统访问自己系统的代码和配置,首先,写一个过滤器(拦截器)

public class loginTourlFiltel implements Filter {
HttpServletRequest request = (HttpServletRequest) servletRequest;
		HttpServletResponse response=(HttpServletResponse)servletResponse;
		String userAccount = request.getParameter("userAccount") == null ? "" : request.getParameter("userAccount");
		String opentype = request.getParameter("opentype") == null ? "" : request.getParameter("opentype");//连接类型

//判断参数
if(userAccount!=null&&!"".equals(userAccount))	{
			//设置用户seesion信息
			setSeesion(request, response, userAccount);
			String mainUrl = "";
			if("information".equals(opentype)){
				Object[] obj = getOpenInfo(informationId);
				mainUrl = "/defaultroot/Information!view.action?informationId="+informationId+"&userDefine="+obj[0]+"&informationType="+obj[1]+"&channelId="+obj[2]+"&channelType="+obj[3]+"&userChannelName=信息管理";
}
//跳转到本系统
response.setCharacterEncoding("utf-8");
			// 告诉浏览器,服务器发送的消息体数据的编码。建议浏览器使用该编码解码
			response.setHeader("content-type", "text/html;charset=utf-8");
			response.setHeader("Access-Control-Allow-Origin","*");//允许所有域名访问
			response.setHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE");
			response.setHeader("Access-Control-Max-Age", "3600");
			response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization");
			response.setHeader("Access-Control-Allow-Credentials", "true");
			// 简单的形式,设置编码
			response.setContentType("text/html;charset=utf-8");
			//不用重定向了
			//response.sendRedirect(mainUrl);
			PrintWriter pw = response.getWriter();
			// 2.输出数据
			pw.write("<script>window.location.href='"+mainUrl+"'</script>");
			pw.close();
}

这一块的逻辑类似一个单点;
当然,不能忘了在web.xml配置拦截器的访问!!!
配置文件写上访问的格式,供第三方参考

公文统计发文跳转详情的地址:
http://ip:端口/defaultroot/loginJump?userAccount=whir&opentype=sendFile&informationId=21545

最后

以上就是魔幻篮球为你收集整理的webservice写接口供第三方调用的全部内容,希望文章能够帮你解决webservice写接口供第三方调用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部