webservice的简单使用,cxf框架的的使用
2021-06-17 14:06
标签:images pattern 信息 index ini html apach 窗口 操作 Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。 WebService就是实现多个系统之间的远程调用技术。WebService可以实现跨语言的调用。 一.java代码调用webservice实现国内手机号码归属地查询服务 先打开http://www.webxml.com.cn/zh_cn/index.aspx 网站:找到国内手机号码归属地查询服务 进入http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx 网站 然后进入http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 网站 然后在桌面打开dos命令窗口 输入上面的代码 -p 后面的表示包名 可以自己定义 得到的源码和calss文件,可以将Class文件删掉,留下源码 然后创建工程,将包添加进去 编写测试代码,在http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 中找到wsdal:service 的name值为服务类 在http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 中找到wsdl:port 的那么值为代理类,可以通过服务类的getter方法获得 wsdl:operation的name值为方法,通过代理类调用 二.直接通过jdk的java代码发布webservice服务: 通过CXF框架与spring框架整合发布webservice 创建web工程 web.xml配置cxf spring的配置文件applicationContext.xml 创建业务接口,类名上要加webService注解 创建实现类 然后访问url: http://localhost:8080/cxf_server/cxf/moble?wsdl 注释:cxf_server为项目名称,/cxf为在web.xml中配置的访问服务的路径,/moble为在spring配置文件中配置的address 编写客户端测试代码,下载客户端代码 创建工程,将下载的客户端代码复制复制过来,注意:代码可以在下载时用 -p指定包名,不允许下载完成后修改包名 编写测试代码,注意:测试时:服务端必须开启 webservice的简单使用,cxf框架的的使用 标签:images pattern 信息 index ini html apach 窗口 操作 原文地址:http://www.cnblogs.com/jiangxiangit/p/7266038.html
wsimport -s . -p com.baoyuan.ws http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl
package com.baoyuan.test;
import com.baoyuan.ws.MobileCodeWS;
import com.baoyuan.ws.MobileCodeWSSoap;
public class TestWebService {
public static void main(String[] args) {
//实例化服务
MobileCodeWS ws = new MobileCodeWS();
//获取代理对象
MobileCodeWSSoap soap = ws.getMobileCodeWSSoap();
//通过代理对象调用方法
String info = soap.getMobileCodeInfo("18662584581", "");
System.out.println(info);
}
}
package com.baoyuan.server;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* 普通一个类实现webService发布服务
*
* @author admin
*
*/
//只需要在类上面加上webService的注解
@WebService
public class HelloService {
public String sayHell(String name){
return name+"来了";
}
public static void main(String[] args) {
//通过jdk提供的Endpoint.publish方法将访问地址:ip+端口+服务名称 以及 服务对象传入,发布服务
Endpoint.publish("http://localhost:8080/hello", new HelloService());
System.out.println("服务启动成功");
}
}
package com.baoyuan.ws.service;
import javax.jws.WebParam;
import javax.jws.WebService;
/**
* 模拟根据手机号码查询归属地
* @author Administrator
*
*/
//只需要在接口上加上webService注解
@WebService
public interface MobleAddressService {
//模拟根据手机号码查询归属地 WebParam(name="mobleNo")注解表示下载后的源码参数的名字还是mobleNo不会改变
public String getMobleAddress(@WebParam(name="mobleNo")String mobleNo);
}
package com.baoyuan.ws.service.impl;
import com.baoyuan.ws.service.MobleAddressService;
/**
* 模拟根据手机号码查询归属地
* @author Administrator
*
*/
public class MobleAddressServiceImpl implements MobleAddressService{
//模拟根据手机号码查询归属地
@Override
public String getMobleAddress(String mobleNo) {
String result=mobleNo+" 归属地:长沙";
return result;
}
}
wsimport -s . -p com.baoyuan.ws http://localhost:8080/cxf_server/cxf/moble?wsdl
package com.baoyuan.ws.test;
import com.baoyuan.ws.MobleAddressService;
import com.baoyuan.ws.MobleAddressServiceImplService;
public class TestCXF {
public static void main(String[] args) {
//实例化服务
MobleAddressServiceImplService service = new MobleAddressServiceImplService();
//创建代理对象
MobleAddressService serviceImplPort = service.getMobleAddressServiceImplPort();
//调用方法
String mobleAddress = serviceImplPort.getMobleAddress("13333532525");
System.out.println(mobleAddress);
}
}
上一篇:关于AJAX 第六篇
下一篇:C# 获取当前路径方法整理