WebServices开发

基本概念:    

          Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTPXMLSOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

     面向服务的体系结构(Service-Oriented ArchitectureSOA)中,一组以这种方式交互的 Web 服务定义了特定的 Web 服务应用程序。Web Service 最基本的组成部分为服务的提供者(Service Provider)和服务的请求者(Service Requester)。这看起来很像 C/S 架构的软件,与之不同的是,Web Service 两端的应用是通过基于标准的 XML 格式的协议进行通信的,这种最常用的协议就是 SOAPSimple Object Access Protocol)。当然,Web Services 不简单地只是按这种方式进行通信。按照 Web Service 的相关标准描述,服务的提供者应该首先通过 WSDLWeb Service Definition Language)和 UDDI Universal Description, Discovery, and Integration)发布它所提供的服务到一个统注册这些服务信息的存储库中去。这样,服务的请求者就也可以通过 WSDL UDDI 发现到服务提供者提供的服务,并可以通过应用的调用方法来使用这个服务了。

      WebServices实现步骤

      1、创建一个普通Java项目

a)         创建业务接口

public interface HelloServies {

   public void sayHello(String name);

 

}

b)        创建实现类

import javax.jws.WebService;

import javax.jws.soap.SOAPBinding;

 

@WebService(name="HelloServices",serviceName="helloServices",targetNamespace="http://localhost/charter/book")

@SOAPBinding(style=SOAPBinding.Style.RPC)

public class HelloServicesImpl implements HelloServies { 

   public void sayHello(String name) {

      // TODO Auto-generated method stub

         System.out.println("-------"+name+"------------");

   }

 

}

 

 

c)         发布WebServices服务

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      Endpoint.publish("http://localhost:8080/helloServices", new HelloServicesImpl());

      System.out.println("webservcies start");

   }

d)        可以通过访问http://localhost:8080/helloServices?wsdl测试发布的webServcies

2、  通过CMD进入刚才新建类的类中的目录中去。执行如下命令

wsimport -keep http://localhost:8080/helloServices?wsdl

将此WebServices客户端代码生成。

 

3、  创建客户端类

public static void main(String[] args) {

              // TODO Auto-generated method stub

              HelloServices_Service hHelloServices=new HelloServices_Service();

              HelloServices services=  hHelloServices.getHelloServicesPort();

              services.sayHello("tom");

       }

 4、测试调用.OK

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值