webservice远程调用

本文深入解析Webservice技术,包括XML、SOAP、WSDL等核心组件的功能与作用,以及通过实例展示如何利用Webservice实现远程调用,具体演示了基于手机号查询运营商的服务搭建过程。

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

webservice

webservice就是远程调用技术,也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
WSDL 元素 [1] 基于XML语法描述了与服务进行交互的基本元素:
Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
Part:消息参数
Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;2.请求-响应(request-response):端点接受消息,然后发送相关消息;3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;4.通知(notification [2] ):端点发送消息。
Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
Binding:特定端口类型的具体协议和数据格式规范。
Port:定义为绑定和网络地址组合的单个端点。
Service:相关端口的集合,包括其关联的接口、操作、消息等。

1.实现如下功能 客户端输入手机号,调用服务器端 返回对应的运营商 。

package com.neusoft.server;

public interface WebServiceTest {

	public String yunyingshang(String phonenum);
}

package com.neusoft.server;

import javax.jws.WebService;

@WebService
public class WebServiceTestImpl implements WebServiceTest{

	
	public String yunyingshang(String phonenum) {
		String yys=null;
		if(phonenum.startsWith("138")) {
			yys=phonenum+":中国移动";
		}else if(phonenum.startsWith("133")) {
			yys=phonenum+":中国电信";
		}else if(phonenum.startsWith("186")) {
			yys=phonenum+":中国联通";
		}else {
			yys=phonenum+":未知运营商";
		}
		return yys;
	}


}

package com.neusoft;

import javax.xml.ws.Endpoint;

import com.neusoft.server.WebServiceTest;
import com.neusoft.server.WebServiceTestImpl;

public class StartApp {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//供外界访问的url地址
		String url="http://127.0.0.1:8082/webservice/server1";
		WebServiceTest ws=new WebServiceTestImpl();
		Endpoint.publish(url,ws );
		System.out.println("webserviceserver1 发布成功");
	}

}

访问对应的发布地址可以看到wsdl xml格式的信息
在这里插入图片描述

新建一个客户端

找到客户端文件目录位置
在这里插入图片描述

打开cmd命令 执行 wsimport -s 我们这个项目的src路径 -keep 我们发布的webservice地址
在这里插入图片描述

eclipse中刷新项目,就会发现系统自动帮我们生成了许多类
接着我们写一个测试客户端类。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值