接下来,我们演示如何访问公网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服务的更多相关文章

  1. Nginx代理实现内网主机访问公网服务

    通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...

  2. WebService学习总结(四)——调用第三方提供的webService服务

    http://www.cnblogs.com/xdp-gacl/p/4260627.html 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他 ...

  3. WebService-调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  4. WebService服务(转)

    一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...

  5. WebService学习--(四)调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  6. 基于CXF框架下的SOAP Webservice服务端接口开发

    最近对webservice 进行入门学习,网上也是找了很多的学习资料.总得感觉就是这了解点,那了解点.感觉不够系统,不够容易入门.差不多断断续续看了一个星期了,今天小有成果,把客户端,服务端都搞定了. ...

  7. 学习调用第三方的WebService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明. 首先安利一 ...

  8. [置顶] WebService学习总结(4)——第三方webService服务调用

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  9. WebService学习总结(三)--调用第三方提供的webService服务

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取电子邮箱验证和查询火车时刻表和天气预报 ...

随机推荐

  1. 【BZOJ2879】【NOI2012】美食节(费用流)

    [BZOJ2879][NOI2012]美食节(费用流) 题面 BZOJ 洛谷 题解 一眼就会思路了吧. 把每个厨师拆点,拆分为他最多能要做的菜的个数,即\(\sum p_i\) 然后把每个菜向厨师的每 ...

  2. HDU.1495 非常可乐 (BFS)

    题意分析 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为.因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多 ...

  3. ssh后台执行

    1 执行scp命令,开始传输2 scp传输开始后,用ctrl+z,再以bg命令将其转入后台运行. 3以exit命令安全退出即可令scp继续执行,不受关闭shell的影响.

  4. POJ--2752

    原题链接:http://poj.org/problem?id=2752 分析:no! #include<cstdio> #include<cstring> #include&l ...

  5. poj3783 Balls

    Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1110   Accepted: 721 Description ...

  6. 如何将下载的web工程导入到eclipse中使用

    如果你是喜欢编程的,在你的开发工具中一定有许多项目,就像小编一样(PS:小编只想默默地装一X):   我们选中其中的一个项目,然后[Ctrl + C]复制,再[Ctrl + V]粘贴到桌面:   那么 ...

  7. Nginx修改access.log日志时间格式

    一.修改原因 因为要获取nginx访问信息,作为开发的数据使用,但是nginx的access.log文件中的默认的时间格式是这样的: [02/Nov/2017:20:48:25 +0800] 而要求的 ...

  8. bootstrap 栅格calss

    container container-fluid row col-xs- col-sm- col-md- col-lg- col-md-offset- col-md-push- col-md-pul ...

  9. powerdesigner中把表的描述复制到Name

    '****************************************************************************** '* File: comment2nam ...

  10. MSBuild问题积累

    我想要当属性ConfigurationType定义为StaticLibrary时,将其重新定义为StaticLibrary,按照以下来做,实现不了. <ConfigurationType> ...