webService案例

1.基本原理

    表现层  《----------》业务层 (自己的)

             1.调用别人的(公网)《----------》 公网手机号查询客户端《----------》公网手机号查询服务端

             2.发布自己的

2.开发步骤

  2.1创建web项目

  2.2生成公网客户端代码

    查询服务地址:http://www.webxml.com.cn/zh_cn/index.aspx

    生成客户端代码:

      wsimport -p cn.ceshi.mobile -s . http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl

2.3创建SEI接口 

  @WebService
  public interface MobileInterface {
      public String queryMobile(String phoneNum);
  }

  2.4创建SEI实现类  

    //根据WSDL文件,编写代码
    private MobileCodeWSSoap mobileClient;
    public String queryMobile(String phoneNum) {
      return mobileClient.getMobileCodeInfo(phoneNum, "");
    } 
    public MobileCodeWSSoap getMobileClient() {
        return mobileClient;
    }
    public void setMobileClient(MobileCodeWSSoap mobileClient) {
        this.mobileClient = mobileClient;
    }

   2.5创建页面 

  <form action="queryMobile.action" method="post">
      手机号码归属地查询:<input type="text" name="phoneNum" />
      <input type="submit" value="查询"/>
  </form>

   2.6创建servlet 

  private MobileInterface mobileService;
  public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
       String phoneNum = request.getParameter("phoneNum");
       if(null!=phoneNum && !"".equals(phoneNum)) {
              //获取spring的上下文 (如果学习springMVC就不用这样,直接通过注解)
           WebApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
           mobileService =(MobileInterface)context.getBean("mobileService");
           String result = mobileService.queryMobile(phoneNum);
           request.setAttribute("result", result);
       }
        request.getRequestDispatcher("/WEB-INF/jsp/queryMobile.jsp").forward(request, response);
  }

    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

  2.7配置spring的配置文件  applicationContext.xml 

  <!-- 通过jaxws发布服务 -->
  <jaxws:server address="/mobile" serviceClass="cn.itcast.mobile.server.MobileInterface">
      <jaxws:serviceBean>
          <ref bean="mobileService"/>
      </jaxws:serviceBean>
  </jaxws:server>
  <!-- 配置服务实现类 -->
  <bean name="mobileService" class="cn.itcast.mobile.server.MobileInterfaceImpl">
      <property name="mobileClient" ref="mobileClient"></property>
  </bean>
  <!--配置公网客户端 -->
  <jaxws:client id="mobileClient" address="http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx"     serviceClass="cn.itcast.mobile.MobileCodeWSSoap">
    </jaxws:client>

2.8配置web.xml          

<!-- 设置spring的环境 -->
  <context-param>
      <!--contextConfigLocation是不能修改的  -->
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <!-- 配置CXF的Servlet -->
  <servlet>
      <servlet-name>CXF</servlet-name>
      <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>CXF</servlet-name>
      <url-pattern>/ws/*</url-pattern>
  </servlet-mapping>

  <!--配置mobileServlet -->
  <servlet>
      <servlet-name>mobileServlet</servlet-name>
      <servlet-class>cn.itcast.mobile.server.servlet.MobileServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>mobileServlet</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>
时间: 2024-10-29 10:46:58

webService案例的相关文章

MyEclipse构建WebService案例

Hi,大家好! 今天主要和大家分享,如何搭建一个Web服务,做Android开发,不可避免会涉及到客户端开发,我们怎么样来实现一个服务端,怎么样来实现一个客户端,并相互传递数据.就算调用别人的服务时,也能知道大概是怎么样实现的. WebService一般分为.Net版和Java版,今天我们主要来实现Java版的WebService,.Net版本的还是比较简单的. 照例,轻松一笑: 波音777是有史以来第一架完全在电脑虚拟现实中设计制造的飞机,所用的设备完全由IBM公司所提供.试飞前,波音公司的总

WebService案例入门(基础篇)

[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52106690 作者:朱培 ID:sdksdk0 邮箱: [email protected] 一.简介 Webservice:跨语言跨平台的远程调用技术.Web service 即web服务,它是一种跨编程语言和跨操作系统平台的远程调用技术即跨平台远程调用技术. JAVA 中共有三种WebService 规范,分别是JAX-WS(JAX-RPC).J

基于axis的WebService的案例

1.axis axis是Apache旗下产品,它是一个webservice容器,可被用于创建.部署和运行webservice.网址http://axis.apache.org/,网址上的部分截图如下. axis的jar包下载http://mirror.bit.edu.cn/apache/axis/. 2.使用eclipse创建webservice案例 使用eclipse创建webservice可以参考如下帖子https://blog.csdn.net/weixin_41488437/articl

基于注解方式的XFire之WebService框架与SSJ架构集成案例

最近在给公司做一个基于webservice的数据提供接口,接口提供给第三方公司业务系统调用,完成数据对接.实现起来也相对简单,其实就是通过中间件服务提取内部系统授权数据组织相应的数据格式然后通过webservice的方式暴露获取数据接口给第三方应用,供其调用.要实现这样的需求每个公司的实现方式有可能不一样,根据每个公司实现中间件服务应用使用的实现语言而定.可选择的方案很多,比如如果你们公司的使用的C#的来实现,那么可选择的方案有WCF等技术方案:但是如果你们的中间件服务实现语言是java,那么实

WebService入门案例

关于WebService的作用和好处,大家应该都了解.但如何在Asp.Net中添加Web Service等问题一直是新手朋友的一大难题.鉴于网上没有一个像样的实际案例,特将课程设计中运用到的WebService(在Asp.Net中添加实时天气预报的案例)粘贴出来,并附上个人的理解.以便于新手朋友快速入门WebService,帮助新手朋友快速的掌握和理解如何在ASP.NET中建立这种引用,实现网页上面的高大效果.对于本文,欢迎转载,但请标明文章出处:itred.cnblogs.com.欢迎各位大神

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

java WebService简单使用案例

首先,建立一个WebService: package garfield; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class MyJ6WebService { public String SayHello(String strName) { return "Hello ,"+strName+"!"; } public static void main(

利用CXF开发WebService的小案例

http://www.blogjava.net/ashutc/archive/2009/11/24/303521.html 开发工具:MyEclipse 6.0 开发环境: 1.     jdk1.5 2.     CXF框架,版本apache-cxf-2.2.3.zip,到http://cxf.apache.org/download.html下载 注:如使用jdk1.6进行开发,需下载jaxb-api.jar和jaxws-api.jar,然后在本机安装JDK的地方,在jdk1.6.0的jre文

Java使用MyEclipse构建webService简单案例

 什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何