博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebService
阅读量:5134 次
发布时间:2019-06-13

本文共 2033 字,大约阅读时间需要 6 分钟。

一、什么是Web服务

Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作

二、Web服务的三个核心

Soap:

  SOAP(Simple Object Access Protocol,简单对象访问协议)是一个基于xml的协议,用于在分步的应用程序都可以识别。另外,SOAP本身没有定义任何程序语言,这使得SOAP能够以消息的形式传递到各种远程系统中。

  SOAP所使用的传输协议,可以是HTTP,SMTP,POP3,JMS。

  SOAP包括了4部分:

   01.“SOAP封装(Envelope)”:

定义一个描述信息描述的内容是什么,是谁发送的,谁应当处理他,以及如何处理他们的框架。

  02.“SOAP编码规则”:

 用于表示应用程序需要使用的数据类型的实例。

  03.“SOAP RPC":

 表示远程过程中调用和应答的协定。

  04.“SOPA绑定”:

  使用底层协议交换信息。

WSDL:

  WSDL(Web Service Description Language,web服务描述语言)是一个XML文档,他以一种和具体语言无关的抽象方式定义了给定web服务收发者的有关操作和消息。

UDDI:

UDDI(Universal Description Discovery and Integration,统一描述发现和集成协议)是一个规范,定义了与web服务相关的信息的发布,发现和管理。

三、JAX-WS

   JSX—WS(Java API for XML Web Service)。他是用来简化使用java构造web服务和web服务客户端的工作的技术。


 四、Web服务在项目中的使用

 方案一:在地址栏输入URL,http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl


 

方案二:通过Java代码实现

打开cmd命令:------》cd\到c盘根目录------》wsimport -s . http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl。并在C盘根目录下生成一系列java类。并运用到项目中,进行测试

 

 测试类:

1
2
3
4
5
6
7
8
public 
class 
MyTest {
public 
static 
void 
main(String[] args) {
    
MobileCodeWS ws=
new 
MobileCodeWS();
    
MobileCodeWSSoap soap=ws.getMobileCodeWSSoap();
    
String address=soap.getMobileCodeInfo(
"13225788"
""
);
    
System.out.println(address);
}
}

  


方案三:使用JAX-WS发布服务

①定义服务器类以及方法[HelloService]

使用@WebService注解,标识一个java类或一个接口作为一个服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
 
* @WebService注解,标识一个java类或一个接口作为一个服务,一旦被标注@WebService,他就不是一个普通的
 
* 接口,他被称作服务端点接口(Service Endpoint Interface)
 
*/
@WebService
public 
class 
HelloService {
 
    
public 
void 
say(String name) {
        
System.out.println(
"hello" 
+ name);
    
}
 
    
public 
static 
void 
main(String[] args) {
        
Endpoint.publish(
"http://192.168.0.2:40000/hello"
new 
HelloService());
        
System.out.println(
"server is listening..."
);
    
}
}

 服务正在监听...

在浏览器中测试:

② 同理 cmd命令解析该文档的类或方法[客户端]

新建一个工程,运用这些类,进行测试

 

 

 MyTest测试类:

1
2
3
4
5
6
7
public 
class 
MyTest {
public 
static 
void 
main(String[] args) {
    
HelloServiceService service=
new 
HelloServiceService();
    
HelloService hs = service.getHelloServicePort();
    
hs.say(
"逗比"
);
}
}

  

转载于:https://www.cnblogs.com/1And0/p/6193264.html

你可能感兴趣的文章
Vue安装准备工作
查看>>
.NET 母版页 讲解
查看>>
Android Bitmap 和 Canvas详解
查看>>
最大权闭合子图
查看>>
oracle 创建暂时表
查看>>
201421410014蒋佳奇
查看>>
导入导出数据库和导入导出数据库表
查看>>
linux下操作mysql
查看>>
【03月04日】A股滚动市盈率PE历史新低排名
查看>>
Xcode5和ObjC新特性
查看>>
jvm slot复用
查看>>
高并发系统数据库设计
查看>>
LibSVM for Python 使用
查看>>
入坑的开始~O(∩_∩)O~
查看>>
Centos 7.0 安装Mono 3.4 和 Jexus 5.6
查看>>
Windows 7 上安装Visual Studio 2015 失败解决方案
查看>>
iOS按钮长按
查看>>
Shell流程控制
查看>>
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>