基于JAX-WS的webService开发实例
最近因为工作原因接触到webService,所以记录下开发中碰到的问题,方便自己以后复习,顺便发扬一下开源精神。刚刚接触webServie如果有什么错误欢迎大家指正。
本地环境:myEclipse10.6 tomcat7 JDK7 jaxws-ri-2.2.10
第一步:创建一个基于JAX-WS的webService工程
如果原先拥有正式项目也可以直接使用原有项目实现webService接口
第二步:引用库
引用myEclipse libray中的JAX-WS 2.1 Runtime Libraries(Project Metro 1.1)和JAX-WS 2.1 APILibraries
不知道为什么有些myEclipse中却无法找到这两个库,其中就包括我。
解决办法:下载jaxws-ri,将lib目录下的jar包全部复制到项目中lib目录下。
下载地址:https://jax-ws.java.net/
第三步:创建测试接口
package com.demo.webservice; import javax.jws.WebMethod;
import javax.jws.WebService; @WebService
public class Test {
//处理方法数量名称任意
@WebMethod
public String test1(String str){
return "测试1接收参数:" + str;
}
}
第四步:在WEB-INF目录下创建sun-jaxws.xml文件
<?xml version = "1.0"?>
<endpoints version="2.0"
xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"> <!-- webService接口配置参数 name名称 implementation实现接口的类 url请求此接口的地址 -->
<endpoint name="test1"
implementation="com.webservice.Test"
url-pattern="/test1">
</endpoint> </endpoints>
第五步:修改web.xml在web.xml中新增以下配置
<!-- 监听器 -->
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener> <servlet>
<servlet-name>test1</servlet-name>
<servlet-class>
com.sun.xml.ws.transport.http.servlet.WSServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test1</servlet-name>
<url-pattern>/test1</url-pattern><!-- select请求地址 就是在sun-jaxwx.xml配置的url -->
</servlet-mapping>
项目结构:
第六步:测试
发布项目到tomcat中,启动tomcat。
打开浏览器输入地址:http://localhost:8080/webService/test1?wsdl
如果出现下面这种页面说明webService已经发布成功
第七步:编写webService客户端
1.创建新的Web Project项目webServiceClient
2.使用myEclipse工具创建webService客户端
3.选择你新建的项目webServiceClient(新项目名称) 点击next
4.输入webService服务端地址,就是刚刚在浏览器输入的地址,点击next
5.等待一会儿,继续点击next
3.编写测试类
package com.demo.test; import com.demo.webservice.Test;
import com.demo.webservice.TestService; public class ClinetTest { public static void main(String[] args) {
TestService service = new TestService();//根据接口的名称改变
Test testPort = service.getTestPort(); String param = "测试1参数-你好!";//请求参数
String result = testPort.test1(param);//请求
System.out.println(result);//打印返回值
}
}
结果
项目结构
基于JAX-WS的webService开发实例的更多相关文章
- eclipse+webservice开发实例
1.參考文献: 1.利用Java编写简单的WebService实例 http://nopainnogain.iteye.com/blog/791525 2.Axis2与Eclipse整合开发Web ...
- eclipse+axis2+webservice开发实例
myeclipse10安装axis2插件 第一步:下载axis2-1.6的插件压缩包,axis2-eclipse-codegen-plugin-1.6.2.zip 和 axis2-eclipse-se ...
- 转:Eclipse+webservice开发实例
原文地址:http://blog.csdn.net/xw13106209/article/details/7049614 1.参考文献: 1.利用Java编写简单的WebService实例 http ...
- 基于Myeclipse+Axis2的WebService开发实录
最近开始学习了下在Myeclipse开发工具下基于WebSerivce的开发,下面将相关相关关键信息予以记录 Myeclipse的安装,本文以Myeclipse2014-blue为开发环境,相关配置执 ...
- WebService开发实例(Axis2实现,无需安装,快速实现)
曾经做过的项目里涉及Android客户端向服务器发送请求,服务器访问数据库获得数据并返回给Android客户端.当时Android客户端与服务器的通信已经实现,我只负责客户端布局和数据呈现的部分,近日 ...
- RESTLET开发实例(一)基于JAX-RS的REST服务
RESTLET介绍 Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架.它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务. Restlet项 ...
- [转贴]JAVA :RESTLET开发实例(一)基于JAX-RS的REST服务
RESTLET介绍 Restlet项目为“建立REST概念与Java类之间的映射”提供了一个轻量级而全面的框架.它可用于实现任何种类的REST式系统,而不仅仅是REST式Web服务. Restlet项 ...
- 转载 WebService 的CXF框架 WS方式Spring开发
WebService 的CXF框架 WS方式Spring开发 1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0 ...
- 开发基于CXF的 RESTful WebService web 项目 webservice发布
配置步骤 开发基于CXF的 RESTful WebService 1.创建Web项目并导入CXF的jar 2.在Web.xml中配置 CXFServlet <servlet> <se ...
随机推荐
- Java正则表达式过滤并消除非法字符
package sd; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * @author 大汉 * */ ...
- MySQL自动备份shell脚本
在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分为热备和冷备,按照备份数据库文件的大小 ...
- raycast 一小段距离碰撞到的poly
dtNavMeshQuery::raycast(dtPolyRef startRef, const float* startPos, const float* endPos, const dtQuer ...
- day 22 二十二、面向对象导入、名称空间、类与对象
一.面向对象导入 1.含义: ①面向过程: 重过程:解决问题,考虑的是解决问题的流程 解决问题的思路清晰,但拓展性不强 ②面向对象: 重对象:解决问题,找到解决问题的对象 解决问题的思路可能不止一条( ...
- java.util中,util是什么意思
Util是utiliy的缩写,是一个多功能.基于工具的包. java.util是包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机 ...
- 海思编译链编译出现__aeabi_unwind_cpp_pr1重定义怎么回事
1.用arm-hisiv100nptl-linux-gcc编译代码,结果发现报错,__aeabi_unwind_cpp_pr1重定义,在librt.a先定义,使用的海思芯片是hi3520d. 2.本来 ...
- 描述逻辑(DL)基础知识
Logic逻辑理论实际上是一个规范性(normative)的理论,而不是一个描述性的(descriptive)理论.即,它并不是用来描述人类究竟是采用何种的形式来推理的,而是来研究人类应该如何有效的进 ...
- C# Collection 排序
Collection<int> aa = new Collection<int>(); aa.Add(1); aa.Add(2); aa.Add(3); aa.Add(1); ...
- Machine Learning, Homework 9, Neural Nets
Machine Learning, Homework 9, Neural NetsApril 15, 2019ContentsBoston Housing with a Single Layer an ...
- js基础 -函数
函数 定义 var a =function (){...}; 匿名函数方式定义function a(){} 直接定义 函数的参数arguments 可以接收任意个参数,是个像数组的内容,可for in ...