整理别人的日志:

一、什么是webservice

一种构建应用程序的普遍模型,能够在不论什么支持网络通信的操作系统中执行。一种新的web应用程序分支,能够公布、定位通过web调用。它是一个应用组件,为其它应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(http、xml、soap)来訪问webservice,通过web service内部执行得到所需的结果。

二、关键的技术和一些规则:

1、xml:描写叙述数据的标准方法。

2、soap:表示信息交换的协议。

3、wsdl:web服务描写叙述语言。

4、uddi:通用描写叙述、发现与集成。一种独立于平台的,基于xml语言的用于在网络上描写叙述商务的协议。

XML:

可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外,XML基本的长处在于它既是平台无关的。又是厂商无关的。

无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。

soap:

soap是web
service的标准通信协议,soap为simple object access protocoll的缩写,简单对象訪问协议. 它是一种标准化的传输消息的XML消息格式。

wsdl:

wsdl的全称是web
service Description Language,是一种基于XML格式的关于web服务的描写叙述语言。

其主要目的在于web
service的提供者将自己的web服务的全部相关内容,如所提供的服务的传输方式。服务方法接口。接口參数,服务路径等。生成对应的全然文档,公布给使用者。使用者可以通过这个WSDL文档。创建对应的SOAP请求消息。通过HTTP传递给webservice提供者。web服务在完毕服务请求后,将SOAP返回消息传回请求者。服务请求者再依据WSDL文档将SOAP返回消息解析成自己可以理解的内容。

uddi:

将web
service进行UDDI注冊公布,UDDI是一种创建注冊表服务的规范,以便大家将自己的web service进行注冊公布供使用者查找.然而当服务提供者想将自己的web
service向全世界发布,以便外部找到其服务时,那么服务提供者能够将自己的web service注冊到对应的UDDI商用注冊站点,眼下全球有IBM等4家UDDI商用注冊站点。由于WSDL文件里已经给定了web
service的地址URI,外部能够直接通过WSDL提供的URI进行对应的web service调用。

所以UDDI并非一个必需的web service组件,服务方全然能够不进行UDDI的注冊。

创建并公布自己的WEB
SERVICE

1、创建一个webservice项目

在这里,在弹出来的信息框中我们使用JAX-WS方式。

JAX-WS:Jax-WS是Java1.6中才有的,新的WebService模式,基于注解的方式配置WebService,非常类似Asp中的WebService,难度已经比Xfire方式的配置减少了非常多.

REST(JAX-RS):用的比較少

Xfire(已过时): 配置比較繁琐

创建Service中的包及类库。实现自己的业务。

创建用户管理系统:

例如以下:创建UserInfo 类。

package xiaoxing.ms.userservice;

public class UserInfo {

    public String GetUserInfo()
{
return "Tracy McGrady";
} }

公布WebService:如图找到Myeclipse中公布button:

接着:

【next,然后看到以下的界面】

【提醒注意勾选复选框“Generate WSDL in project”】

【找到自己刚開始新建的类文件,然后点击“ok”】

【配置自己的tomcat,这个就不用说了。,。须要说明的是,自己的tomcat 的JDK选择自己系统安装的jdk】

【选中你的项目,然后開始加入库文件】

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzgwNjM2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

【在弹出的信息框。然后选择例如以下信息】

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzgwNjM2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

【启动你配置好的tomcat】

【然后找到Myeclipse的项目部署button,開始部署】

【依照以下的操作。完毕部署】

【以上到此一个简单的服务端配置完毕:然后再浏览器中測试一下】

http://localhost:911/UserMgrService/UserInfoPort?wsdl

出现以下信息。则应该是正常的。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzgwNjM2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

【创建client,測试】

【1、新建一个java项目】

【2、client公布】

【3、配置url】

【然后项目中自己主动生成文件】

最后创建一个test类

package xiaoxing.ms.test;

import xiaoxing.ms.userservice.UserInfoDelegate;
import xiaoxing.ms.userservice.UserInfoService; public class TestMS { public static void main(String[] args) {
UserInfoService userinfoWS=new UserInfoService();
UserInfoDelegate userinfoDel=userinfoWS.getUserInfoPort();
System.out.println(userinfoDel.getUserInfo());
}
}

假设控制台输出。你在服务端创建时的name。那么应该是Ok的

java 搭建webservice服务+testclient測试的更多相关文章

  1. [转载]Java创建WebService服务及客户端实现

    Java创建WebService服务及客户端实现 Java创建WebService服务及客户端实现

  2. 使用CXF和spring搭建webService服务

    虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试.大概是有了xfire的经验 ...

  3. 使用xfire搭建webService服务

    后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识. 本来我所了解到的发布webService服务有用cxf和xfi ...

  4. Java创建WebService服务及客户端实现(转)

    简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...

  5. Java创建WebService服务及客户端实现

    简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...

  6. java访问webservice服务(一)

    欢迎转载  http://www.cnblogs.com/shizhongtao/p/3433653.html 使用wsdl2java工具命令   一. 调出命令提示符cd到cxf的解压路径“D:\学 ...

  7. CXF+Spring搭建webservice服务

    Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS .这些 Services 可以支持多 ...

  8. 使用cxf3.0.4搭建webservice服务需要的最精简jar包

    转自:https://blog.csdn.net/w1014074794/article/details/47862163 下面是测试结果,只列出报错了的测试: 1.org.apache.catali ...

  9. Spring Boot+CXF搭建WebService服务参考资料

    pom.xml文件引入包: <!--WerbService CXF依赖--> <dependency> <groupId>org.apache.cxf</gr ...

随机推荐

  1. dbms_stats.gather_table_stats与analyze table 的区别[转贴]

    Analyze StatementThe ANALYZE statement can be used to gather statistics for a specific table, index ...

  2. Hibernate管理Session和批量操作

    Hibernate管理Session Hibernate自身提供了三种管理Session对象的方法 Session对象的生命周期与本地线程绑定 Session对象的生命周期与JTA事务绑定 Hiber ...

  3. MySQL基础之第8章 视图

    8.1.视图简介 视图由数据库中的一个表,视图或多个表,视图导出的虚拟表.其作用是方便用户对数据的操作. 8.2.创建视图必须要有CREATE VIEW 和 SELECT 权限SELECT selec ...

  4. information_schema中的三个关于锁的表

    在5.5中,information_schema 库中增加了三个关于锁的表(MEMORY引擎):innodb_trx         ## 当前运行的所有事务innodb_locks       ## ...

  5. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  6. hdu 3336 count the string(KMP+dp)

    题意: 求给定字符串,包含的其前缀的数量. 分析: 就是求所有前缀在字符串出现的次数的和,可以用KMP的性质,以j结尾的串包含的串的数量,就是next[j]结尾串包含前缀的数量再加上自身是前缀,dp[ ...

  7. C#中常用的字符串加密,解密方法封装,包含只加密,不解密的方法

    //方法一//须添加对System.Web的引用//using System.Web.Security;/// <summary>/// SHA1加密字符串/// </summary ...

  8. UML统一建模语言

    概述 统一建模语言(UML)是一种图形化的语言,用于软件密集系统要素的可视化.制定规范.构建对象和编写文档.UML提供了一种标准的方式来描述系统的设计图,既包括概念方面,例如业务过程和系统功能,也包括 ...

  9. 精妙SQL语句 基础

    精妙SQL语句SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作,方便自己写SQL时方便一点,想贴上来,一起看看,同时希望大家能共同多多提意见,也给我留一些更好的佳句, ...

  10. [算法] 快速排序 Quick Sort

    快速排序(Quick Sort)使用分治法策略. 它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分:其中一部分的所有数据都比另外一部分的所有数据都要小.然后,再按此方法对这 ...