博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webService获取电话号归属地和获取天气情况步骤,及创建属于自己的webservice
阅读量:5959 次
发布时间:2019-06-19

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

 

一、什么是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服务在项目中的使用

 

 

1.获取电话号码归属地查询

首先访问:

http://www.webxml.com.cn/zh_cn/web_services.aspx

 

 

①新建一个MyEclipse项目(WebService)

http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

上面就可以查询到手机号归属地,下面我就带你进入编程环境中,如何获取到手机号码归属地

首先:上面的路径不能丢,有用滴,你先看看你的C盘根目录下有没有一个cn文件夹,若是有,你把它给删了,接着不用我告诉你怎么出现下图的吧,

package cn.com.test;import cn.com.webxml.MobileCodeWS;import cn.com.webxml.MobileCodeWSSoap;//http://www.webxml.com.cn/zh_cn/web_services.aspx//http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdlpublic class MyTest {    public static void main(String[] args) {        MobileCodeWS ws=new MobileCodeWS();        MobileCodeWSSoap soap=ws.getMobileCodeWSSoap();        String address=soap.getMobileCodeInfo("1352269","");        System.out.println(address);    }}
测试类

 上面第一个案例已经写完了,接着我们创建一个属于自己的webserver.把上面的C盘下的cn文件给删了,我们要写一个自己的,所以cn文件我们自己生成,,及其使用。

 另外在建两个项目一个是服务类,一个是客户端,(这样规避了一个问题,要是写在同一项目中,程序只能运行一次,便会报错,)

1 package cn.happy.service; 2  3 import javax.jws.WebService; 4 import javax.xml.ws.Endpoint; 5  6 //局域网  任何人 访问access 7 @WebService 8 public class HelloService { 9     public void say(String name){10         System.out.println("Hello"+name);11          12     }13     //这是服务端:14     public static void main(String [] arg){15         Endpoint.publish("http://localhost:50000/hello", new HelloService());16         System.out.println("server is listening.....");17     }18 19 }
Helloservice类

 

 

粘贴上面的java文件,创建另个项目。如图所示:

输出helloWXK ,说明创建成功了。要是运行第二次报错,把客服端给停了,在开启就行了,解决办法:小电脑旁边有一个倒小三角,点击切换停止服务,在部署一下服务,报错就解决了

1 package cn.happy.test; 2  3 import cn.happy.service.HelloService; 4 import cn.happy.service.HelloServiceService; 5  6 public class WSTest { 7  8     /** 9      * @param args10      */11     public static void  main(String[] args) {12         HelloServiceService service=new HelloServiceService();13         HelloService port=service.getHelloServicePort();14         port.say("WXK");15 16     }17 18 }
WSTest

注意,cn文件中生产的java文件,你开始用的localhost,就用localhost,用的IP就是ip,不要混用,不然报错。

 

②:查询地区的天气情况;

第一步省略,选择如上图一的2500多个城市天气预报 WEB服务  (本案例是查询北京的天气情况)

 

温馨提示:每天查询天气的次数有限。

再回到MyEclipse中.(刚刚备用的路径该起到作用了哦)

 

 关于天气获取,项目由于今天用完次数,下次公布。本文自己总结,如有不当之处,望指出,谢谢

转载于:https://www.cnblogs.com/WuXuanKun/p/6186801.html

你可能感兴趣的文章
深入动态人脸识别小场景应用,2019年或将迎来爆发期
查看>>
Ionic2 下处理 Android 设备下返回按钮的事件
查看>>
linux安全问答(1)
查看>>
zabbix监控进程的CPU和内存占用量
查看>>
Error creating bean with name 'userServiceImpl': Injection of autowired dependencies failed
查看>>
mybatis update返回值的意义
查看>>
SVNQuery–如何创建更新索引并查询
查看>>
java高质量图片压缩
查看>>
源码解读Linux的limits.conf文件
查看>>
expdp 详解及实例
查看>>
C++中 栈的简单封装
查看>>
我的友情链接
查看>>
Linux常用命令--iconv
查看>>
varnish的了解与常用配置使用
查看>>
Product user profile information 没有导入
查看>>
DELL T410服务器U盘安装Centos7
查看>>
解读最具O2O属性—哈根达斯微信企业号的成功之道
查看>>
Sqlserver2008日志压缩
查看>>
虚拟机usb无线上网同时主机本地上网或无线无线上网
查看>>
View的事件分发机制
查看>>