使用JAVA开发WebService服务

1、概述

WebService分为两种:

  1. 基于HTTP协议,REST方式的WebService。
  2. 基于SOAP协议(HTTP协议之上),RPC方式的WebService。 通常所说的WebService是指RPC方式的WebService。
    Java中有三种WebService规范: JAX-WS(JAX-RPC)、JAX-RS、JAXM&SAAJ。

2、JAX-WS

JAX-WS(Java API For XML-WebService),JDK1.6 自带的版本为JAX-WS2.1,其底层支持为JAXB。
如何发布一个Web服务:
①在类上添加@WebService注解 ,此注解指定将此类发布成一个WebService;(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)
②通过EndPoint(端点服务)发布一个WebService,此类为端点服务类,其中publish()方法用于将一个已经添加了@WebService注解对象绑定到一个地址的端口上,用于发布。(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于javax.xml.ws.Endpoint包中)
③类上添加注解@WebService,类中所有非静态方法都会被发布; 静态方法和final方法不能被发布;方法上加@WebMentod(exclude=true)后,此方法不被发布;

(1)发布WebService服务
HelloWebService.java:
package cn.tgb.ws;  
import javax.jws.WebMethod;  
import javax.jws.WebService;  
import javax.xml.ws.Endpoint;  

@WebService  
public class HelloWebService {  
	public String HelloWord(String name){  
	return "Hello: "+name;  
}  

/*
 *添加exclude=true后,HelloWord2()方法不会被发布 
 */  
@WebMethod(exclude=true)  
public String HelloWord2(String name){  
return "Hello: "+name;  
}  
public static void main(String[] args) {  
/*
 *参数1:服务的发布地址 
 *参数2:服务的实现者 
 */  
Endpoint.publish("http://192.168.24.138:456/helloWord",new HelloWebService());  
}  

运行以上程序进行发布。

(2)查看wsdl

地址:http://192.168.24.138:456/helloWord?wsdl
只要在客户端浏览器能看到此WSDL文档,说明服务发布成功
在这里插入图片描述

(3)在客户端访问发布的服务

根据WSDL文档来在客户端编写代码,访问发布的服务;但是,WSDL文档看不懂怎么办?代码该如何编写?
——你看不懂,JDK看得懂,wsimport是JDK自带的,可以根据WSDL文档生成客户端调用代码的工具。无论服务器端WebService使用什么语言编写的,都将在客户端生成Java代码。所以服务器用什么语言编写的并不重要。

wsimport.exe命令参数:
-d:生成class文件。默认参数。
-s:生成Java文件 -p:自定义包结构

解析地址生成源码到当前目录:
在这里插入图片描述
执行以上命令后,即可在当前目录下生成如下包及类:
在这里插入图片描述还可以自定义包结构:
在这里插入图片描述
将生成的包及.java文件复制到客户端:
在这里插入图片描述
创建访问服务的类:MyClient.java:
在这里插入图片描述
MyClient.java:

package cn.tgb.ws;  

public class MyClient {  

  public static void main(String[] args) {  
     HelloWebServiceService hwss = new HelloWebServiceService();  

     HelloWebService hws = hwss.getHelloWebServicePort();  

     String result = hws.helloWord("hanxuemin");  
     System.out.println(result);  
  }  
(4)运行结果:

在这里插入图片描述
完。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Java开发Web服务接口的一般步骤: 1. 确定接口的输入和输出 首先确定你的接口需要接受什么样的输入,以及输出什么样的结果。例如,你可能需要一个接口来接受一个字符串并返回该字符串的反转版本。 2. 创建Java类 接下来,需要创建一个Java类来实现你的接口。这个类应该包含一个方法来接受输入并返回输出。在本例中,你可以创建一个名为“ReverseString”的类,该类包含一个名为“reverse”的方法,接受一个字符串并返回该字符串的反转版本。 3. 定义Web服务 接下来,需要定义Web服务并将其绑定到Java类上。可以使用Java API for XML Web Services(JAX-WS)来完成此任务。在你的Java类上添加@WebService注释,然后使用@WebMethod注释定义要公开的方法。例如: ``` @WebService public class ReverseString { @WebMethod public String reverse(String input) { // implementation code here } } ``` 4. 部署Web服务 一旦定义了Web服务,就需要将其部署到Web服务器上。可以使用Java Servlet容器(如Tomcat)来部署Web服务。将你的Java类打包成WAR文件,然后将其部署到Web服务器上。 5. 测试Web服务 最后,测试你的Web服务。可以使用SOAPUI等工具来测试Web服务。在SOAPUI中,输入Web服务的URL,然后使用提供的输入参数调用Web服务。应该会得到Web服务返回的输出结果。 以上是使用Java开发Web服务接口的一般步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值