package service;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
* @description 功能描述:
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:37:40
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.service.connservice.java
*/

//第一步首先创建web接口
@WebService
public interface connservice {

@WebMethod
public String Stringlist();

@WebMethod
public List getlist();

}

//第二步去实现这个接口

package serviceimpl;

import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import service.connservice;

import com.spring.mvc.jdbc.JdbcDao;

/**
* @description 功能描述:
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
@WebService(endpointInterface="service.connservice")
@Service(value="connservice")
public class connserviceimpl implements connservice{

@Autowired
JdbcDao dao;
@Override
/**
* @description 功能描述: webservice 返回list json 结果
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
public String Stringlist() {
String sql ="select * from CS_CONTRACT t where t.id='30053'";
List list = dao.queryData(sql); // 执行sql


net.sf.json.JSONArray jsonArray = net.sf.json.JSONArray.fromObject(list); //将结果集转为List json 串

return jsonArray.toString(); //转为String类型
}

/**
* @description 功能描述: webservice 返回list 结果
* @author 作 者: 周志伟
* @param 参 数:
* @createdate 建立日期: 2014-9-4上午9:38:31
* @projectname 项目名称: spring_mvctype
* @packageclass 包及类名: com.spring.mvc.serviceimpl.connserviceimpl.java
*/
public List getlist() {

String sql ="select * from CS_CONTRACT t where t.id='30053'";
List list = dao.queryData(sql); //执行sql
List weblist=null;
for (int i = 0; i < list.size(); i++) { //结果集是两层List 所以得循环一层List
weblist = (List) list.get(i);
}

return weblist; //返回结果List
}

}

第三步添加server-ws.xml webservice配置文件 不过得导入spring  cxf jar包

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs" xmlns:cxf="http://cxf.apache.org/core"
xmlns:simple="http://cxf.apache.org/simple"
xsi:schemaLocation="http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/core
http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://cxf.apache.org/simple
http://cxf.apache.org/schemas/simple.xsd"
default-autowire="byName" default-lazy-init="true">

<!-- 导入CXF初始配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

<!--测试web service 接口 -->

<!--此路径为类的路径 -->
<bean id="borrowere" class="serviceimpl.connserviceimpl" />
<jaxws:endpoint id="webser" implementor="#borrowere" address="/webser" />


</beans>

第四步在applicationContext.xml 导入 server-ws.xml

<!-- webservice 配置文件 -->
<import resource="server-ws.xml"/>

第五步在web.xml配置webservice

<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

如果有maven 私服可以直接下载jar包

<dependency>
<groupId>org.apache.servicemix.samples.cxf-wsdl-first</groupId>
<artifactId>wsdl-first-cxf-sa</artifactId>
<version>3.3.2</version>
<type>zip</type>
</dependency>

第六步发布项目测试 如果出了此 页面证明你的webservice接口已经配置成功 如果别人要调你的接口你只需把服务端url给他即可。http://127.0.0.1:9090/spring_mvc/services/webser?wsdl 可以在他本地直接生成客户端接口进行调用

浏览器输入   http://127.0.0.1:9090/spring_mvc/services/webser?wsdl  //webser 为接口名字自定义

第七步调用接口 新建项目

就这样webservice接口就轻松搞定。。。

关于webservice实现web接口的更多相关文章

  1. java web项目(spring项目)中集成webservice ,实现对外开放接口

    什么是WebService?webService小示例 点此了解 下面进入正题: Javaweb项目(spring项目)中集成webservice ,实现对外开放接口步骤: 准备: 采用与spring ...

  2. C#winForm调用WebService的远程接口

    Web Service 的创建简单编码.发布和部署 上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService 接下来看一下具体步骤:   ...

  3. Android应用安全之WEB接口安全

    Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...

  4. Delphi XE5通过WebService开发Web服务端和手机客户端

    Delphi XE5通过WebService开发Web服务端和手机客户端介绍 我们开发一个三层的android程序 建立一个webservices  stand-alone vcl applicati ...

  5. JAVA WEB接口开发简述

    目录 1. JAVA WEB接口开发简述 1.1. 基本了解 1.2. 提供接口 1.3. 调用接口 1. JAVA WEB接口开发简述 1.1. 基本了解 当我们想去访问其他网站的接口时候,而又不想 ...

  6. Django Web接口开发

    什么是接口 接口一般来讲分为两种: (1)程序内部的接口:方法与方法.模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就 ...

  7. 《Python Web 接口开发与测试》---即将出版

    为什么要出这样一本书? 首先,今年我有不少工作是跟接口自动化相关的,工作中的接口自动化颇有成效. 我一直是一个没有测试大格局的人,在各种移动测试技术爆发的这一年,我却默默耕耘着自己的一亩三分地儿(We ...

  8. web接口开发与测试

    最近一直在学习和整理web开发与接口测试的相关资料.接口测试本身毫无任何难度,甚至有很多工具和类库来帮助我们进行接口测试.大多测试人员很难深入了解web接口测试的原因是对web开发不太了解,当你越了解 ...

  9. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

随机推荐

  1. 三、hadoop、yarn安装配置

    本文hadoop的安装版本为hadoop-2.6.5 关闭防火墙 systemctl stop firewalld 一.安装JDK 1.下载java jdk1.8版本,放在/mnt/sata1目录下, ...

  2. linux串口通信 接收信息不完整 读取不全

    类似这种 ready.o是我用来读取串口信息的一个程序 执行结果如下: [root@localhost testPlc]# ./ready.o 0 02 1 30 2 30 3 46 4 46 5 3 ...

  3. 你知道 react-color 的实现原理吗

    一.前言 ReactColor 是一个优秀的 React 颜色选择器组件,官方给了多种布局供开发者选择. 笔者常用的主题为 Sketch,这种主题涵盖了颜色面板.推荐色块.RGB颜色输入等功能,比较完 ...

  4. Label_strange_labels

    空格符号  特殊符号名 注释语句 , align = "left right center" 粗体 斜体 也可能是控制标签 上标 下标 大字号 小字号 下划线 删除线 等宽 键盘输 ...

  5. vue 深度作用选择器

    使用 scoped 后,父组件的样式将不会渗透到子组件中 如果想在使用scoped,不污染全局的情况下,依然可以修改子组件样式,可以使用深度作用选择器 .tree{ width: 100%; floa ...

  6. LeetCode485 最大连续1的个数

    给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组 ...

  7. JavaScript入门-函数function(二)

    JavaScript入门-函数function(二) 递归函数 什么是递归函数? 递归简单理解就是,在函数体里,调用自己. //我们在求一个10的阶乘的时候,可能会这么做 //写一个循环 var to ...

  8. 爬虫系列 | 6、详解爬虫中BeautifulSoup4的用法

    bs4,全称BeautifulSoup 4 , 它是Python独有的一种解析方式.也就是说只有Python语言才可以通过这种方式去解析数据. BeautifulSoup 3 只支持Python2,所 ...

  9. Poj-P1088题解【动态规划/记忆化搜索】

    本文为原创,转载请注明:http://www.cnblogs.com/kylewilson/ 题目出处: http://poj.org/problem?id=1088 题目描述: 区域由一个二维数组给 ...

  10. Sentry(v20.12.1) K8S 云原生架构探索,JavaScript 性能监控之采样 Transactions

    系列 Sentry-Go SDK 中文实践指南 一起来刷 Sentry For Go 官方文档之 Enriching Events Snuba:Sentry 新的搜索基础设施(基于 ClickHous ...