zoukankan      html  css  js  c++  java
  • Java中WebService实例

    Web Services是由企业公布的完毕其特定商务需求的在线应用服务,其它公司或应用软件可以通过Internet来訪问并使用这项在线服务。

    Web Service的关键技术和规则:

    1.XML:描写叙述数据的标准方法.

    2.SOAP:表示信息交换的协议(简单对象訪问协议).

    3.WSDL:Web服务描写叙述语言.

    4.UDDI:通用描写叙述、发现与集成,他是一种独立于平台,基于XML语言的用于在互联网上描写叙述商务的协议。

    一、利用JDK web服务api实现,这里使用基于SOAP message的Web Service:

    1.首先创建一个Web Services项目,作为Web services Endpoint.

    2.创建一个HelloService.java类

    3.使用apt编译HelloService.java(比如: apt -d bin(bin存放编译后的文件文件夹) scr/com/yjpeng/hello/HelloService.java)后,会生成jaxws文件夹。

    4.使用java com.yjpeng.hello.HelloService运行HelloService.java文件,在浏览器中输入http://localhost:8080/helloService?wsdl出现例如以下图

    5.使用wsimport命令生成client:wsimport -p com.yjpeng.webservice -keep http://localhost:8080/helloService?wsdl 这时会在当前文件夹中生成例如以下文件:

    6.编写好client文件HelloClient.java

    执行结果在控制台输出 hello,你好  证明利用JDK web服务API实现web service成功!

    二、使用xfire框架,我这里使用的是MyEclipse集成的xfire进行測试,利用xfire开发WebService能够有三种方法:

    a.一种是从JavaBean中生成。

    b.一种是从wsdl文件里生成。

    c.一种是自己建立webservice。

    详细实现过程例如以下:

    1.用Myeclipse建立webServiceproject(注意:Web Service&J2EE Details中的Framework选XFire),文件夹结构例如以下:

    2.创建IHello.java接口

    3.创建IHelloImpl.java实现IHello.java接口

    4.改动Service.xml文件,增加下面代码

     <service>
     <!-- 为该Service起一个名字 -->
      <name>HelloService</name>
      <!-- service的接口类 -->
      <serviceClass>
      com.yjpeng.hello.IHello
      </serviceClass>
      <!-- service的接口实现类-->
      <implementationClass>
      com.yjpeng.hello.IHelloImpl
      </implementationClass>
      <!-- wsdl的样式-->
      <style>wrapped</style>
      <use>literal</use>
      <scope>application</scope>
     </service>

    5.把该Web Service项目部署到tomcat里面启动tomcat在浏览器地址栏输入http://localhost:8080/TestWebServices/services/Hello?wsdl 出现例如以下图

    6.然后在展开HelloService后面的wsdl能够看到

    7.创建一个clientHelloClient.java类

    执行HelloClient.java类能够输出 你好            1.

    三、使用axis1.4开发webservice方法

    首先下载axis1.4包和tomcatserver,并将解压后的axis1.4包以下的webapps下的axis文件夹拷贝到tomcatserver的webapps文件夹中。axis支持三种Web Service的部署和开发,分别为:

    a.Dynamic Invocation Interface(DII)

    b.Stubs 方式

    c.Dynamic Proxy方式

    1.编写DII(Dynamic Invocation Interface)方式Web Service

    a.编写服务程序HelloClient.java

    b.将HelloClient.java文件复制到axis_home下,重命名为HelloClient.jws.

    c.訪问链接http://localhost:8080/axis/HelloClient.jws?wsdl页面显示axis自己主动生成的wsdl文件

    d.编写訪问服务的clientTestHelloClient.java须要导入对应的axis.jar包,在下载的axis的WEB-INF/lib/文件夹下。

    执行TestHelloClient.java在控制台输出hell,张三,測试成功.

    2.编写Dynamci Proxy方式訪问服务

    a.编写部署服务端程序,用上边DII方式使用的HelloClient.java

    b.编写代理接口HelloClientInterface.java须要扩展java.rmi.Remote类

    c.编写訪问服务的clientTestHelloClient.java

    执行TestHelloClient.java在控制台输出hell,张三,測试成功.

    四、使用axis2开发webservice

    研究中....

    五、在java web项目中开放一个webservice接口实例

    1.引入须要的jar包
     

    2.创建一个接口类IAddNumbers.java

    3.创建一个AddNumberImpl.java实现IAddnumbers.java接口类

    4.在WEN-INF文件夹下创建一个sun-jaxws.xml文件

    5.在web.xml文件里添加

    6.部署web项目 启动对应部署server。訪问http://localhost:8080/TestJaxWebService/addNumberImpl?wsdl 这样每次启动webserver就开放了一个web service的接口。

  • 相关阅读:
    docker 镜像导入导出[转]
    部署coredns
    构建docker私有库
    怎么安装Docker CE 17( Centos 7)
    [转]使用tcpdump抓取HTTP包
    VLOOKUP函数使用
    有趣:256个class选择器可以干掉1个id选择器——张鑫旭
    算警示吧——此文来自张鑫旭(说说CSS学习中的瓶颈)
    不使用JavaScript让IE浏览器支持HTML5元素——张鑫旭
    CSS中width和height与盒子模型的关系
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4307178.html
Copyright © 2011-2022 走看看