Java中WebService实例

Java中WebService实例WebServices是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。WebService的关键技术和规则:1.XML:描述数据的标准方法.2.SOAP:表示信息交换的协议(简单对象访问协议).3.WSDL:Web服务描述语言.4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。一、利用JDKweb服务api实现,这里使用基于SOAPmessage的WebService:1.首先创

大家好,又见面了,我是你们的朋友全栈君。

Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

Web Service的关键技术和规则:

1.XML:描述数据的标准方法.

2.SOAP:表示信息交换的协议(简单对象访问协议).

3.WSDL:Web服务描述语言.

4.UDDI:通用描述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描述商务的协议。

 

一、利用JDK web服务api实现,这里使用基于SOAP message的Web Service:

1.首先创建一个Web Services项目,作为Web services Endpoint.

2.创建一个HelloService.java类

3.使用apt编译HelloService.java(例如: apt -d bin(bin存放编译后的文件目录) scr/com/yjpeng/hello/HelloService.java)后,会生成jaxws目录。

4.使用java com.yjpeng.hello.HelloService执行HelloService.java文件,在浏览器中输入http://localhost:8080/helloService?wsdl出现如下图

Java中WebService实例

5.使用wsimport命令生成客户端:wsimport -p com.yjpeng.webservice -keep http://localhost:8080/helloService?wsdl 这时会在当前目录中生成如下文件:

Java中WebService实例

6.编写好客户端文件HelloClient.java

运行结果在控制台输出 hello,你好  证明利用JDK web服务API实现web service成功!

 

 

二、使用xfire框架,我这里使用的是MyEclipse集成的xfire进行测试,利用xfire开发WebService可以有三种方法:

a.一种是从JavaBean中生成。

b.一种是从wsdl文件中生成。

c.一种是自己建立webservice。

 

具体实现步骤如下:

1.用Myeclipse建立webService工程(注意:Web Service&J2EE Details中的Framework选XFire),目录结构如下:

Java中WebService实例

2.创建IHello.java接口

3.创建IHelloImpl.java实现IHello.java接口

4.修改Service.xml文件,加入以下代码

 <service>
 <!– 为该Service起一个名字 –>
  <name>HelloService</name>
  <!– service的接口类 –>
  <serviceClass>
  com.yjpeng.hello.IHello
  </serviceClass>
  <!– service的接口实现类–>
  <implementationClass>
  com.yjpeng.hello.IHelloImpl
  </implementationClass>
  <!– wsdl的样式–>
  <style>wrapped</style>
  <use>literal</use>
  <scope>application</scope>
 </service>

5.把该Web Service项目部署到tomcat里面启动tomcat在浏览器地址栏输入http://localhost:8080/TestWebServices/services/Hello?wsdl 出现如下图

Java中WebService实例

6.然后在展开HelloService后面的wsdl可以看到Java中WebService实例

7.创建一个客户端HelloClient.java类

运行HelloClient.java类可以输出 你好            1.

三、使用axis1.4开发webservice方法

首先下载axis1.4包和tomcat服务器,并将解压后的axis1.4包下面的webapps下的axis目录复制到tomcat服务器的webapps文件夹中。axis支持三种Web Service的部署和开发,分别为:

a.Dynamic Invocation Interface(DII)

b.Stubs 方式

c.Dynamic Proxy方式

1.编写DII(Dynamic Invocation Interface)方式Web Service

a.编写服务程序HelloClient.java

b.将HelloClient.java文件拷贝到axis_home下,重命名为HelloClient.jws.

c.访问链接http://localhost:8080/axis/HelloClient.jws?wsdl页面显示axis自动生成的wsdl文件

d.编写访问服务的客户端TestHelloClient.java需要导入相应的axis.jar包,在下载的axis的WEB-INF/lib/目录下。

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

2.编写Dynamci Proxy方式访问服务

a.编写部署服务端程序,用上边DII方式使用的HelloClient.java

b.编写代理接口HelloClientInterface.java需要扩展java.rmi.Remote类

c.编写访问服务的客户端TestHelloClient.java

运行TestHelloClient.java在控制台输出hell,张三,测试成功.

 

四、使用axis2开发webservice

研究中….

 

五、在java web项目中开放一个webservice接口实例

1.引入需要的jar包
Java中WebService实例 

2.创建一个接口类IAddNumbers.java

3.创建一个AddNumberImpl.java实现IAddnumbers.java接口类

4.在WEN-INF目录下创建一个sun-jaxws.xml文件

5.在web.xml文件中增加

6.部署web项目 启动相应部署服务器。访问http://localhost:8080/TestJaxWebService/addNumberImpl?wsdl 这样每次启动web服务器就开放了一个web service的接口。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162628.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月21日 下午2:46
下一篇 2022年7月21日 下午2:46


相关推荐

  • matlab中wavedec2函数,小波滤波器–wavedec2函数[通俗易懂]

    matlab中wavedec2函数,小波滤波器–wavedec2函数[通俗易懂]wavedec2函数:1.功能:实现图像(即二维信号)的多层分解.多层,即多尺度.2.格式:[c,s]=wavedec2(X,N,’wname’)[c,s]=wavedec2(X,N,Lo_D,Hi_D)(我不讨论它)3.参数说明:对图像X用wname小波基函数实现N层分解,这里的小波基函数应该根据实际情况选择,具体办法可以:db1、db2、……db45、haar.输出为c,s.c为各层分…

    2022年6月28日
    46
  • VsCode系列(一):下载安装及汉化「建议收藏」

    VsCode系列(一):下载安装及汉化「建议收藏」VsCode的下载和安装在这篇文章中将为大家介绍WIN10操作系统如何下载安装并且汉化VsCode的方法。VsCode入门VisualStudioCode是一个轻量级但功能强大的源代码编辑器

    2022年8月4日
    8
  • “DropDownList1“有一个无效 SelectedValue,因为它不在项目列表中。

    “DropDownList1“有一个无效 SelectedValue,因为它不在项目列表中。今天用FormView做一个网页,其中用到了DropDownList控件,代码是这样写的:写好之后怎么弄也不行,后来google了一下,找到了很多答案,看完之后我认为DataValueField的值必须从零开始,于是我就改了改sql语句,但是还是不行。又想了一会,茅塞顿开原来是SelectedValue和DataValueField的类型必须一致,困扰我好长时间的问题终于解决正确代码:

    2022年7月18日
    13
  • 黑盒测试的测试方法有哪些_黑盒测试包含哪些测试内容

    黑盒测试的测试方法有哪些_黑盒测试包含哪些测试内容一般我们在做软件测试的时候,会遇到黑盒测试,白盒测试,我们今天主要说的是黑盒测试的主要测试方法有那些。接下来就是干货了。最常见的是  边界值 等价类 错误推测法 场景法 因果图法判定表组成法 正交实验设计 下面是详细的解释:前言:在期末考到来的时候复习下黑盒测试。文章copy&paste了很多别人的东西。文章里有很多不足之处。欢迎拍砖!!!!!

    2022年10月21日
    5
  • ftp服务器搭建并通过外网访问

    ftp服务器搭建并通过外网访问内网 FTP 如何端口映射到外网连接访问 通过公网路由器映射或 nat123 端口映射均可实现 前者是硬件公网端口映射 后者是软件内网端口映射 目的一样 方法不一 工具 原料 FTP 内网 nat123

    2025年12月10日
    6
  • 因果图法设计测试用例

    因果图法设计测试用例因果图法设计测试用例 1 nbsp 定义 因果图法是一种利用图解法分析输入的各种组合情况 从而设计测试用例的方法 他适合与检查程序输入条件的各种组合情况 2 nbsp 意义 等价类划分和边界值分析方法都是着重考虑输入条件 但没有考虑输入条件的各种组合 输入条件之间的相互制约关系 这样虽然各种输入条件可能出错的情况已经测试测试到了 但多个输入条件组合起来可能出错的情况却被疏忽了 3 nbsp 认识因果图 如果

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号