博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈WebService的调用<转>
阅读量:6568 次
发布时间:2019-06-24

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

0.前言

    前段时间,公司和电信有个合作,产品对接电信的某个平台,使用了WebService接口的调用,实现了业务受理以及单点登录。终于使用到了WebService,楼主还是比较兴奋的,目前功能已经上线,下面进行使用总结。WebService涉及到内容还是比较多的,涉及到发布和调用,有不少知识点,本文只是最简单的调用。

1.WebService简介

    WebService是基于soap协议(简单对象访问协议全写为Simple Object Access Protocol)的,所有的webService请求、应答都是建立在soap协议的基础上的,而soap传输数据的载体是xml。WSDL(Web Services Description Language)是WebService的描述语言,它定义了Web Service做什么,怎么做和查询的信息。在验证一个WebService是否好用的时候,我们通常会选则在浏览器中输入对应的WSDL地址(比如)。如果显示出一个xml文件,这是好用的,反之就是不可用的。

    可以这样理解,通过WebService,我们可以把我们的程序发布成wsdl接口。在其它平台,通过WSDL生成当前平台可调用的代理类,通过调用生成的接口和方法,实现应用之间的相互调用。   

   参考:

2.WebService的调用

    调用webservice服务的三种途径,Endpoint ,Disco ,WSDL。客户端在调用电信WebService上行发短信时,是通过 wsdl生成本地代理类方式实行的。而在接收状态报告下行时,可以采用的是 Endpoint方式(客户端不需要生成本地代理类,只需要知道Endpoint地址),比如查看某个城市的天气。

    传送门:

    通过wsdl生成代理类:可以使用 的wsdl2java  通过命令行生成代理类 (具体可自行百度)    

1
wsdl2java -p com.generTech.rms.equipment(包名) -d src(目标文件夹位置) -all(生成全部,-client生成客户端,-server生成服务端) -frontend jaxws21  http:
//192.168.3.80:8080/emp/EmpProvideServiceImp?wsdl(wsdl文件地址)

 

   或者通过IDE的插件直接生成,比如Intellij IDEA,可以创建WebService项目,自动下载需要的jar包,输入wsdl的url,

就直接生成了代理类。

    具体方法:New Project——Java——WebService Client

    

    自动下载的7个jars 需要下载成功后 才可以根据wsdl生成java code 以及代理类的调用

    

    Tools——WebServices——Generate Wsdl From Java Code

    

建议选中 生成TestCase,可以方便接口测试(调用时需要添加junit的jar)

如果是maven项目,可以使用下面的pom

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<!--webservice 调用需要的jar -->
        
<
dependency
>
            
<
groupId
>commons-logging</
groupId
>
            
<
artifactId
>commons-logging</
artifactId
>
            
<
version
>1.0.4</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>junit</
groupId
>
            
<
artifactId
>junit</
artifactId
>
            
<
version
>4.11</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>log4j</
groupId
>
            
<
artifactId
>log4j</
artifactId
>
            
<
version
>1.2.8</
version
>
        
</
dependency
>
         
        
<
dependency
>
            
<
groupId
>org.apache.axis</
groupId
>
            
<
artifactId
>axis</
artifactId
>
            
<
version
>1.4</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>org.apache.axis</
groupId
>
            
<
artifactId
>axis-jaxrpc</
artifactId
>
            
<
version
>1.4</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>commons-discovery</
groupId
>
            
<
artifactId
>commons-discovery</
artifactId
>
            
<
version
>0.2</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>org.apache.axis</
groupId
>
            
<
artifactId
>axis-saaj</
artifactId
>
            
<
version
>1.4</
version
>
        
</
dependency
>
 
        
<
dependency
>
            
<
groupId
>wsdl4j</
groupId
>
            
<
artifactId
>wsdl4j</
artifactId
>
            
<
version
>1.4</
version
>
        
</
dependency
>
        
<!--webservice 调用需要的jar -->
    
</
dependencies
>

 

    测试效果:

   

3.GIT@OSC地址

WebService Maven Project:

Pom.xml地址:

EndPoint调用(不生成代理类):

 

 

转自http://my.oschina.net/lujianing/blog/224380

转载地址:http://bdpjo.baihongyu.com/

你可能感兴趣的文章
XAML Grid布局
查看>>
杭电2063--过山车(二分匹配)
查看>>
jsp、freemarker、velocity区别
查看>>
REM——适合移动开发的自适应方案
查看>>
【笔记】mysql入门语句8条
查看>>
迪杰斯特拉算法——PAT 1003
查看>>
网盘、云盘共享文件搜索引擎链接收藏目录
查看>>
[Asp.net mvc]OutputCacheAttribute
查看>>
用类模拟C风格的赋值+返回值
查看>>
杭电 2124 Repair the Wall(贪心)
查看>>
[转载] 七龙珠第一部——第057话 小雨对布鲁
查看>>
【5】python核心编程 第八章-条件和循环
查看>>
60. Permutation Sequence
查看>>
MapReduce编程系列 — 2:计算平均分
查看>>
MnasNet:迈向移动端机器学习模型设计的自动化之路
查看>>
Java 重写(Override)与重载(Overload)
查看>>
Javascript调试技巧整理
查看>>
Python学习笔记 - PostgreSQL的使用
查看>>
Linux常用命令
查看>>
turtle练习
查看>>