WebService初学-web_client

上一篇创建了WebService,这里我创建了另一个Web项目web_client来调用这个WebService。

项目代码结构如下:

其中itc10.client包下的java文件是通过WebService的WSDL生成的。

利用JDK自带的wsimport 命令可以利用WSDL文件生成Java代码。

wsimport -s . -p itc10.client http://192.168.1.103:8090/web_service/ws?wsdl

其中 “-s” 是生成源码,“.”是表示源码存放在当前目录下,“-p itc10.client” 是包名,后面的地址是WebService的WSDL文件地址。

这里使用BusQueryAction.java这个Servlet来访问WebService。

 1 package itc10.servlet;
 2
 3 import java.io.IOException;
 4
 5 import javax.servlet.ServletException;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9
10 import itc10.client.BusQuery;
11 import itc10.client.BusQueryWS;
12
13 /**
14  * Servlet implementation class BusQueryAction
15  */
16 public class BusQueryAction extends HttpServlet {
17     private static final long serialVersionUID = 1L;
18
19     /**
20      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
21      */
22     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
23 //        response.getWriter().append("Served at: ").append(request.getContextPath());
24         doPost(request, response);
25     }
26
27     /**
28      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
29      */
30     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
31 //        doGet(request, response);
32         BusQueryWS ws = new BusQueryWS();
33         BusQuery wsPort = ws.getBusQueryPort();
34         String result = wsPort.queryLine(request.getParameter("city"),             request.getParameter("line"));
35         response.getWriter().append(result);
36     }
37
38 }

在doPost中,创建BusQuery对象,调用queryLine方法查询公交线,注意这里需要两个参数。

可以利用JSP来测试一下:

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Line JSP</title>
</head>
<body>
    line-info:
    <br>
    <div id="line-info"></div>
    <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
    <script type="text/javascript">
        $(function() {
            var city = "广州";
            var line = "B25";
            $.ajax({
                type : "POST",
                url : "BusQueryAction",
                data : "city=" + city + "&line=" + line,
                success : function(msg) {
                    console.info(msg);
                    $("#line-info").html(msg);
                }
            });
        });
    </script>
</body>
</html>

利用jQuery发送异步请求,并将返回的结果显示在div中。

这里查询的是广州的B25公交的信息。

最后将项目发布到tomcat中。

访问项目:http://127.0.0.1/web_client/index.jsp

可以看到返回的结果:

时间: 2024-11-09 02:50:44

WebService初学-web_client的相关文章

WebService初学

作为一个初学者,在遇到新的知识点的时候,搞清这个知识点的名称含义,是有必要的.那什么是WebService呢? 顾名思义,它是一个运行在web上的服务.这个服务通过网络为我们的程序提供服务方法.类似一个远程的服务提供者.比如,一个提供天气预报的网站需要随时更新天气情况,在WEB上挂上一个随时问讯最新天气情况的服务.我们的程序就可以从这个服务上获取到当前最新的天气信息.说的简单点就是远程信息访问,专业点就是基于XML并利用SOAP协议(简单对象访问协议)实现跨平台信息传递的一种技术. WebSer

WebService初学-web_service

前些天去南京参加中国软件杯比赛的时候看到有些队伍在获取学校的数据时用到了WebService,感觉挺实用,自己趁着周末也入门了一下. 首先自己先创建一个WebService工程.这里我使用了Web项目来发布WebService. 下面是项目源码的结构: 其中WebServiceAction是一个servlet类,用来发布WebService.util包有两个工具类,BusQueryService是WebService的主要类,这里提供的是公交信息查询的服务. 要成为WebService,需要再类

myeclipse 10 + Axis2-1.6.2 开发WebService

由于要与外部机构对接扫描支付需求,不得不用java来开发一个webservice+axis,java webservice还是8年前初学java时有过接触,工作后就没有使用过. 此文借助myeclipse10+axis2插件完成webservice的开发. 开发工具:myeclipse10 myeclipse插件: 1:axis2-eclipse-codegen-wizard-1.4.zip 2:axis2-eclipse-service-archiver-wizard-1.4.zip 首先 配

关于安卓调用C#的WebService上传图片问题(不使用ksoap2)

============问题描述============ 小弟初学安卓开发.最近需要做一个图片上传的功能. 我是用java开发安卓,调用C#的WebService.在网上找到一大堆资料,几乎全部是用ksoap2包的. 请注意,我想做的是不用ksoap包的. 我现在的方法是从android端用读取到要上传的图片,用Base64编码成字节流的字符串,通过调用webservice把该字符串作为参数传到服务器端,服务端解码该字符串,最后保存到相应的路径下.整个上传过程的关键就是以字节流的字符串进行数据传

C#调用WebService实例和开发

一.基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册.简单的理解就是:webservice就是放在服务器上的函数,所有人都可以调用,然后返回信息. 比如google就有一个web service ,你调用它就可以很容易的做一个搜索网站. 就像调用函数一样,传入若干

flex入门--初学笔记1

环境:flashBuilder + eclipse 4.2 基本控件: 1 <mx:Script> 2 <![CDATA[ 3 import mx.controls.Alert; 4 public function showMsg(msg:String):void{ 5 mx.controls.Alert.show(msg); 6 } 7 ]]> 8 </mx:Script> 9 <mx:Panel title="常用控件" width=&qu

Android开发系列之调用WebService

我在学习Android开发过程中遇到的第一个疑问就是Android客户端是怎么跟服务器数据库进行交互的呢?这个问题是我当初初次接触Android时所困扰我的一个很大的问题,直到几年前的一天,我突然想到WebService是否可以呢?让WebService充当服务器端的角色,完成与服务器数据库操作相关的事情,而Android客户端只要按照WebService方法参数的要求去调用就行了.在当时我对这个解决方案的实现还没模糊,我想这个问题也是初学Android的朋友肯定会想到的问题.那么现在就让我们动

webservice入门之CXF教程

1.CXF简介 Apache CXF是一个开源的Service框架,可以用于简化用户的service开发,基于CXF开发的应用可提供SOAP.XML/HTTP.RESTFUL HTTP或CORBA等服务.CXF底层页可以使用不同的传输协议,包括HTTP.JMS或JBI等. 根据CXF官方的说明,CXF包含以下特性: 支持大量的Web Service标准,包括SOAP.WS-I Basic Profile.WSDL.WS-Addressing.WS-Policy.WS-ReliableMessag

C#程序员学习Android开发系列之调用WebService

我在学习Android开发过程中遇到的第一个疑问就是Android客户端是怎么跟服务器数据库进行交互的呢?这个问题是我当初初次接触Android时所困扰我的一个很大的问题,直到几年前的一天,我突然想到WebService是否可以呢?让WebService充当服务器端的角色,完成与服务器数据库操作相关的事情,而Android客户端只要按照WebService方法参数的要求去调用就行了.在当时我对这个解决方案的实现还没模糊,我想这个问题也是初学Android的朋友肯定会想到的问题.那么现在就让我们动