联通项目随笔1----开发WebService程序

我参与这个项目的开始时间是2012年2月3号。

第一周2月6号到2月11号

这一周我主要做的是调研普元的EOS平台,并操作一个小的演示示例,整个操作流程叙述详细完整。在这个过程中由于资料比较完整基本上没有遇到很头疼困难的问题,所以就在周四的时候这个任务就差不多完成了。周五有新的任务就是开发Web Service应用程序,由于不熟悉整个的流程,也不熟悉web为何物,只能瞎眼抹黑的摸索,很是痛苦。周五搬到新的办公地点,一上午没了。

问题一:开发WebService程序,并实现前端调用。

这个问题首先从写Web Service的HelloWorld开始学起,用Eclipse环境Java开发,并用Web Service的开源框架CXF,其实使用CXF就是到官网上下载后将里面的bin文件里的所有jar包加入到你Eclipse工程的WEB-INF的bin文件中(直接复制拷贝就可以)。

在Eclipse下开发:1,建一个动态web工程或者纯java项目工程都可以,我建的是动态web工程。

              2,在工程目录里的src文件夹中创建一个包实现接口类,一个包是接口类的实现类(注意在接口类定义之前要有@WebService声明,在实现类之前有 @WebService @SOAPBinding(style = Style.RPC)声明,这就表明了起是web service服务了)

             3,src下建一个发布服务的包,其中的类负责服务的发布:

public static void deployService() {

    ProductImp service = new ProductImp();  -----创建服务,创建的是实现类

   String address = "http://localhost:9005/product";  -----服务wsdl的地址(实际访问wsdl文件时要在该address后面加?wsdl)

   Endpoint.publish(address, service);-----发布服务和地址

  }

     public static void main(String[] args) throws InterruptedException {

  //发布WebService  

 deployService(); -----执行发布

}

 

4,客户端的实现,可以在本工程里建立客户端利用工厂的方式:

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); ---jax ws代理工厂种子  

factory.setServiceClass(IProduct.class);   ---用代理工厂使用接口类名建立客户端服务

factory.setAddress("http://localhost:9005/product");  ----客户端地址

 IProduct service = (IProduct) factory.create();-----创建

然后service就可以调用服务器暴露的接口函数,例如:service.returnGuid()。。。。。。就可以了

 

 

 

你可能感兴趣的:(webservice)