整理别人的日志:

一、什么是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. ffmpeg Windows下采集摄像头一帧数据,并保存为bmp图片

    这里请注意,在编译ffmpeg时,不要使用--disable-devices选项. 使用 --enable-encoder=rawvideo --enable-decoder=rawvideo 启用r ...

  2. Oracle alter index rebuild 与 ORA-08104 说明

    在ITPUB 论坛上看到的一个帖子,很不错.根据论坛的帖子重做整理了一下. 原文链接如下: alter index rebuild online引发的血案 http://www.itpub.net/t ...

  3. RTMP协议详解(转)

    转自<RTMP协议详解(一) (二) (三) > Real Time Messaging Protocol(实时消息传送协议协议)是Adobe Systems公司为Flash播放器和服务器 ...

  4. Android Failure [INSTALL_FAILED_OLDER_SDK]

    今天编译工程发现 提示“ Failure [INSTALL_FAILED_OLDER_SDK]” 最后发现最小minSdkVersion 超过当前机器的版本,修改配置表中的minSdkVersion, ...

  5. HDU 5379 Mahjong tree

    题意:在一棵有n个节点的树上放编号从1到n的麻将,要求每个点的儿子节点之间的编号连续,每棵子树内的编号连续. 解法:手推一组样例之后就可以得到如下结论然后从根节点一边讨论一边搜就好了. 当一个节点只有 ...

  6. 完美完全卸载Oracle 11g数据库

    Oracle 11g可在开始菜单中卸载,然后同时需要删除注册表中相关内容. 操作系统:windows10专业版. 卸载步骤: 1.停用oracle服务:进入计算机管理,在服务中,找到oracle开头的 ...

  7. c#写入Mysql中文显示乱码 解决方法 z

    mysql字符集utf8,c#写入中文后,全部显示成?,一个汉字对应一个? 解决方法:在数据库连接字符串中增加字符集的说明,Charset=utf8,如 MySQLConnection con = n ...

  8. Delphi word 颜色

    unit Unit1;   interface   uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...

  9. 【LeetCode 169】Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  10. qt集成到vs2010

    因为要正式开始学习图形处理相关的知识了,所以要搭建开发平台.我所要用到的平台主要是vs和qt.虽然现在已经出了vs2013了,并且外观看起来特别漂亮,但是我所要用到的qt4版本中,没有对于的qtAdd ...