发布WS接口与实现WS接口[小列子]

本文详细介绍WebService技术的原理及其实现步骤,包括在Eclipse或MyEclipse中创建WebService项目,编写并发布WebService接口,以及如何从客户端调用已发布的WebService。文中还提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

webservice简介:
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制

一、 WebService生成
1.在eclipse或myclipse新建一个Web项目,并新建一个class类,用于发布;


2.编写供客户端调用的方法,即编译方法代码;
示例:

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**
* Title: ServiceHello
* Description: 基于jdk1.6以上的javax.jws 发布webservice接口
@WebService - 它是一个注解,用在类上指定将此类发布成一个ws。
Endpoint – 此类为端点服务类,它的方法publish用于将一个已经添加了@WebService注解
对象绑定到一个地址的端口上。
* Version:1.0.0
* @author panchengming
*/
@WebService
public class JwsServiceHello {

/** 供客户端调用方法 该方法是非静态的,会被发布
* @param name 传入参数
* @return String 返回结果
* */
public String getValue(String name){
return "欢迎你! "+name;
}

/**
* 方法上加@WebMentod(exclude=true)后,此方法不被发布;
* @param name
* @return
*/
@WebMethod(exclude=true)
public String getHello(String name){
return "你好! "+name;
}

/** 静态方法不会被发布
* @param name
* @return
*/
public static String getString(String name){
return "再见!"+name;
}


//通过EndPoint(端点服务)发布一个WebService
public static void main(String[] args) {
/*参数:1,本地的服务地址;
2,提供服务的类;
*/
Endpoint.publish("http://192.168.1.105:8080/Service/ServiceHello", new JwsServiceHello());
System.out.println("发布成功!");
//发布成功后 在浏览器输入 http://192.168.1.105:8080/Service/ServiceHello?wsdl
}
}
3.进行编译运行(注:失败检查jdk版本)

4.将所设地址加上?wsdl到浏览器上访问,如出现XML格式代码,则发布成功,反之,则否;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)


二、WebService调用方法
生成代码方式一

1.新建一个class类,用于调用webservice。右键src,找到Web Service Client,并输入wsdl地址,选择下载代码的路径;(url: http://192.168.1.105:8080/Service/ServiceHello?wsdl)

 

 

2.将地址上的文件下载下来(注意和发布JDK一致);
3.写调用方法调用下载下来的WebService中的java类中的方法;
示例:

import com.pcm.ws.jws.JwsServiceHello;
import com.pcm.ws.jws.JwsServiceHelloService;

/**
*
* Title: JwsClientHello
* Description: webService 客户端调用
* Version:1.0.0
* @author panchengming
*/
public class JwsClientHello {

public static void main(String[] args) {
//调用webservice
JwsServiceHello hello=new JwsServiceHelloService().getJwsServiceHelloPort();
String name=hello.getValue("panchengming");
System.out.println(name);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知青先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值