访问公网WebService服务
接下来,我们演示如何访问公网webservice服务。
我们以访问 http://www.webxml.com.cn/zh_cn/index.aspx 为例,主要演示手机号码归属地查询服务(使用说明书路径为 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL)。接着,生成相应的webservice客户端,以及jar包。
gen-c-s.bat(生成webservice服务的客户端):
wsimport -s E:\webService\1\source -d E:\webService\1\classes http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?WSDL
gen-jar.bat(生成项目依赖的jar包):
e:
cd E:\webService\1\classes
jar cvf phoneCode.jar cn
然后,创建一个web案例,添加生成的 phoneCode.jar包为项目依赖。
<%--前端页面--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>号码归属地查询</title>
<script language="JavaScript" src="jquery.min.1.11.3.js"></script>
<script language="JavaScript">
var num = 1;
function doQuery() {
var phoneCode = $('#phoneCode').val();
console.log(phoneCode);
if (phoneCode.length == 11) {
if (num == 1) {
num = 0;
console.log('发起请求归属地查询:' + phoneCode);
$.ajax({
url: '/QueryServlet',
type: 'POST', //GET
async: true, //或false,是否异步
data: {
phoneCode: phoneCode
},
timeout: 10000, //超时时间
dataType: 'json',
success: function (data, textStatus, jqXHR) {
num = 1;
console.log("success--->" + phoneCode + ":" + data.resultPhone);
$('#pResult').css({"color": "blue", "font-size": "16px", "font-weight": "bold"});
$('#pResult').text(phoneCode + ":" + data.resultPhone);
},
error: function (xhr, textStatus) {
num = 1;
console.log("error--->");
}
});
}
}
}
</script>
</head>
<body>
<form>
<input id="phoneCode" type="text" name="phoneCode" placeholder="请填写要充值电话号码" onkeyup="doQuery()">
<p id="pResult"></p>
</form>
</body>
</html>
-----------------------------------------------
//后端控制器
package com.itszt; import cn.com.webxml.MobileCodeWS;
import cn.com.webxml.MobileCodeWSSoap; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException; /**
* 处理前端发来的请求,并给前端响应数据
*/
@WebServlet(name = "QueryServlet", urlPatterns = "/QueryServlet")
public class QueryServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收前端发来的参数
String phoneCode = request.getParameter("phoneCode");
//创建服务视图
MobileCodeWS mobileCodeWS = new MobileCodeWS();
//根据服务视图得到服务端点
MobileCodeWSSoap mobileCodeWSSoap = mobileCodeWS.getMobileCodeWSSoap();
//调用服务端点的方法
String mobileCodeInfo = mobileCodeWSSoap.getMobileCodeInfo(phoneCode, "");
System.out.println("mobileCodeInfo = " + mobileCodeInfo);
if (mobileCodeInfo != null) {
if (mobileCodeInfo.contains(":")) {
String[] split = mobileCodeInfo.split(":");
response.setCharacterEncoding("UTF-8");
response.getWriter().write("{\"resultPhone\":\"" + split[1] + "\"}");
} else {
System.out.println("解析失败");
}
} else {
System.out.println("解析失败");
}
} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}
项目运行后,前端反馈如下:
访问公网WebService服务的更多相关文章
- Nginx代理实现内网主机访问公网服务
通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...
- WebService学习总结(四)——调用第三方提供的webService服务
http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...
- WebService-调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- WebService服务(转)
一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...
- WebService学习--(四)调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- 基于CXF框架下的SOAP Webservice服务端接口开发
最近对webservice 进行入门学习,网上也是找了很多的学习资料.总得感觉就是这了解点,那了解点.感觉不够系统,不够容易入门.差不多断断续续看了一个星期了,今天小有成果,把客户端,服务端都搞定了. ...
- 学习调用第三方的WebService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明. 首先安利一 ...
- [置顶]
WebService学习总结(4)——第三方webService服务调用
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
- WebService学习总结(三)--调用第三方提供的webService服务
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取电子邮箱验证和查询火车时刻表和天气预报 ...
随机推荐
- 题解 P2955 【[USACO09OCT]奇数偶数Even? Odd? 】
很明显这题是个假入门! 小金羊一不小心点进题解发现了内幕 能看的出来都WA过Unsigned long long int 做题可以用Python,Python的变量虽然 强悍的不行! 但是我们可以用字 ...
- 【刷题】洛谷 P3808 【模板】AC自动机(简单版)
题目背景 这是一道简单的AC自动机模板题. 用于检测正确性以及算法常数. 为了防止卡OJ,在保证正确的基础上只有两组数据,请不要恶意提交. 管理员提示:本题数据内有重复的单词,且重复单词应该计算多次, ...
- Linux之Json20160705
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...
- Windows10实用技巧-固定快捷方式到磁贴菜单方式
快捷方式固定到磁贴 Win10的开始菜单中的磁贴功能比较不错,可以在不清理桌面上其他软件的情况下直接唤醒需要的应用. 但是比较麻烦的是一些应用或快捷方式并不能直接固定到上面. 后来发现所有Windo ...
- 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...
- java rmi远程方法调用实例
RMI的概念 RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制.使用这种机制,某一台计算机上的对象可以调用另外一台计 ...
- ASP.NET Core的身份认证框架IdentityServer4--IdentityServer相关文章【记录】
Identity Server 4 预备知识 -- OpenID Connect 简介: 原文地址
- 在Centos系统下使用命令安装gnome图形界面程序
第一步:先检查yum 是否安装了,以及网络是否有网络.如果这两者都没有,先解决网络,在解决yum的安装. 第二步:在命令行下 输入下面的命令来安装Gnome包. # yum groupinstall ...
- HDU 2298 三分
斜抛从(0,0)到(x,y),问其角度. 首先观察下就知道抛物线上横坐标为x的点与给定的点的距离与角度关系并不是线性的,当角度大于一定值时可能会时距离单调递减,所以先三分求个角度范围,保证其点一定在抛 ...
- webapi + windows计划 + mshta 实现定时执行任务
当然,实现定时任务有更好的操作方式,比如方式一:asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发, ...