WebService是提供特定服务的架构技术,通过标准的Web协议提供服务,其目的是保证不同平台的应用服务可以相互操作。目前比较流行的实现是使用.NET和JAVA两种语言技术,并且两种实现语言可以相互操作;

下面主要围绕通过JAVA语言来介绍Webservice的定义和调用,通过JAVA语言开发WebService的方式又分为Axis、axis2、Xfire、CXF以及JWS。每种方式实现都有各自的特点,由于本人使用CXF的方式比较熟练,而且,CFX和Spring无缝结合,所以下面重点介绍以CXF方式的实现。

由于WebService实现分为服务端和客户端两种开发模式,接下来介绍WebService服务端开发、客户端开发及实例测试。

环境准备

JDK1.6及以上,需要的JAR文件有:commons-logging-1.1.1.jar、cxf-2.4.3.jar、neethi-3.0.1.jar、spring-aop-3.0.5.RELEASE.jar、spring-asm-3.0.5.RELEASE.jar、spring-beans-3.0.5.RELEASE.jar、spring-context-3.0.5.RELEASE.jar、spring-context-support-3.0.5.RELEASE.jar、spring-core-3.0.5.RELEASE.jar、spring-expression-3.0.5.RELEASE.jar、spring-web-3.0.5.RELEASE.jar、wsdl4j-1.6.2.jar、xmlschema-core-2.0.1.jar。

1.服务端开发

自定义接口类

package cn.test.ws.service;

import javax.jws.WebParam;

import javax.jws.WebService;

@WebService

public interface GreetingService {

public String welcome(@WebParam(name="username") String username);

public int getNum(@WebParam(name="number") int number);

}

定义接口实现类

package cn.test.ws.service.impl;

import cn.test.ws.service.GreetingService;

public class GreetingServiceImpl implements GreetingService {

@Override

public String welcome(String username) {

System.out.println("服务端的方法为:greeting()");

return "Hell0 "+username+",欢迎你调用JAVA下的WebService服务!";

}

@Override

public int getNum(int number) {

System.out.println("服务端的方法为:getNum()");

return number;

}

}

Spring.xml配置

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:jaxws="http://cxf.apache.org/jaxws"

xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://cxf.apache.org/jaxws

http://cxf.apache.org/schemas/jaxws.xsd">

serviceClass="cn.test.ws.service.GreetingService"

address="/GreetingService">

2. web.xml配置

contextConfigLocation

classpath:applicationContext.xml

org.springframework.web.context.ContextLoaderListener

CXF Servlet

CXFServlet

org.apache.cxf.transport.servlet.CXFServlet

1

CXFServlet

/*

3.客户端开发

public static void main(String[] args) {

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();

String wsUrl = "http://127.0.0.1:8080/WS/GreetingService?wsdl";

String method ="welcome";

String method2 =  "getNum";

try {

Client client = dcf.createClient(wsUrl);

Object[] objects =client.invoke(method,"TEST");

Object[] numbers =client.invoke(method2,6);

System.out.println(objects[0].toString());

System.out.println(numbers[0]);

} catch (Exception e) {

e.printStackTrace();

}

}

4.实例测试

WebService测试可以使用上述客户端main方法进行测试,也可通过在浏览器中进行测试,还有专门的webservice测试工具等众多方式进行测试。

在浏览器中输入http://IP:端口/项目名称/GreetingService?wsdl即可看到已发布的服务端信息,并且通过输入制定参数显示服务端返回的信息,如:http://IP:端口/项目名称/GreetingService/welcome?username=test。

java 请求webservice_JAVA调用WebService实例相关推荐

  1. java 读取webservice_java 调用webService的各种方法

    一.利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint: package Hello; import ...

  2. java使用axis2调用webservice接口实例

    说明:我目前的项目环境是struts2+spring+mybatis+oracle,以下代码是java使用axis2调用webservice接口实例. import javax.xml.namespa ...

  3. JAVA使用HttpClient调用webservice接口

    JAVA使用HttpClient调用webservice接口 关于HttpClient用法参考: HttpClient-4.5.2官方教程完整翻译 官方教程原文链接 HttpClient下载地址: 链 ...

  4. Java通过axis调用WebService

    转载地址:http://www.linuxidc.com/Linux/2015-06/118460.htm ------------------------------------------分割线- ...

  5. java中web错误返回码,关于在java程序里调用webservice报500返回码的有关问题

    关于在java程序里调用webservice报500返回码的问题 我现在写了个程序,是调用webservice的,执行后我打印返回码是500  错误信息是 java.io.IOException: S ...

  6. c 访问java webservice_java调用webservice .

    Webservice调用方式:axis,soap详解 调用webservice,可以首先根据wsdl文件生成客户端,或者直接根据地址调用,下面讨论直接调用地址的两种不同方式:axis和Soap,soa ...

  7. Java 使用Axis实现WebService实例

    在上一篇WebService实例中,基于jdk1.6以上的javax.jws 发布webservice接口.这篇博文则主要用eclipse/myeclipse 使用axis插件进行发布和调用WebSe ...

  8. jQuery Ajax 调用WebService实例详解

    JQuery Ajax调用webservice的一些经验记录,在此实例中,解决跨域使用了Core解决方案,在下一篇文章中,会介绍JS 跨域的问题. 实例!.实例!.实例! 跨域解决方案 实例-源码 前 ...

  9. java ee webservice_javaEE调用webservice总结【利用WSDL】(转载)

    一.MyEclipse利用网上公开发布WSDL文件,创建WebService Client,进行调用WebService: 1.  打开MyEclipse,新建一个Web Project;然后新建 一 ...

  10. Java使用XFire调用WebService接口

    看了一些Java调用WebService接口的例子,很多都是Ctrl+C,Ctrl+V的,其中有很多拿来使用后发现有错误,令人郁闷,特此写了一篇经过测试的,只是一个小例子. 服务端(为客户端提供Web ...

最新文章

  1. ROS与PCL中点云数据之间的转换
  2. 学好C++,一个项目就够
  3. 微信小程序红包开发 小程序发红包 开发过程中遇到的坑 微信小程序红包接口的...
  4. iphone popViewControllerAnimated后刷新原先的表格
  5. 用html制作篮球网页,篮球网站的设计与实现).doc
  6. 事物注解方式: @Transactional
  7. (转)Hibernate框架基础——多对多关联关系映射
  8. java中自定义异常的方法步骤
  9. java se基础巩固实例,Java SE基础巩固(十五):lambda表达式
  10. python离线安装flask_离线环境下安装flask
  11. atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结
  12. 第三章CDMA的原理和应用(3)
  13. 关于学历与面试的一些看法
  14. 1080p和1080i
  15. pairing-friendly曲线家族
  16. app启动速度优化实践
  17. 写给大家看的设计模式 1
  18. 将现有android项目打包成aar包供第三方应用调用
  19. 给定一个完全循环赛的比赛结果,其中n个队伍两两比赛一次。每场比赛以一方胜出或者平局结束。设计一个算法,把n个队伍排序,序列中每个队伍都不曾输给紧随其后的那个队伍。说明该算法的时间效率类型。
  20. 卡方检验(Chi square statistic)

热门文章

  1. 新版《中国药典》提升中药标准
  2. 自制STM32F205最小系统板
  3. MTK改串工具,mtk刷机工具,高通刷机工具,MTK生成线刷包工具资料下载
  4. Vue删除表格数据-调用逻辑
  5. word下禁止显示回车符号
  6. Deeping Learning学习与感悟——《深度学习工程师》_5
  7. 《单片机原理与接口技术》小结
  8. 《现代控制系统》第四章——反馈控制系统特性 4.3 控制系统对参数变化的敏感程度
  9. go模拟android浏览器,GO浏览器:界面酷炫操作顺畅Android浏览器
  10. 谷歌地球网页版_谷歌地球:Google Earth 专业版