使用CXF开发WebService客户端

使用CXF开发WebService客户端 (2012-12-25 09:15:47)
标签:

杂谈

分类: Java学习
首先服务器端,分为六步

第一步:创建一个Java 项目,我创建的是WS_Server。然后创建一个Interface,我创建的是HelloWorld,包名是edu.xaut.cxf.ws。该接口要用@WebService修饰

package edu.xaut.cxf.ws;

import javax.jws.WebService;

@WebService
public interface HelloWorld {
      String sayHello(String name);
}

第二步:新建一个class,来实现HelloWorld 接口,该类要用@WebService修饰

package edu.xaut.cxf.ws.impl;

import java.util.Date;

import javax.jws.WebService;

import edu.xaut.cxf.ws.HelloWorld;

@WebService(endpointInterface="edu.xaut.cxf.ws.HelloWorld",serviceName="HelloWorldWebService")
public class HelloWorldWS implements HelloWorld{

      @Override
      public String sayHello(String name) {           
            return "Hello " + name +",it is " + new Date();
      }

}

第三步:引入Jar包

使用CXF开发WebService客户端

第四步:发布webservice

package test;

import javax.xml.ws.Endpoint;

import edu.xaut.cxf.ws.HelloWorld;
import edu.xaut.cxf.ws.impl.HelloWorldWS;

public class ServerMain {
      public static void main(String args[]) {
            HelloWorld helloWorld = new HelloWorldWS();
           
            //调用Endpoint的publish方法发布web service
            Endpoint.publish("http://202.200.113.204", helloWorld);
            System.out.println("publich success!");
      }
}

第五步:运行

运行结果是:publich success!

第六步:访问http://202.200.113.204/?wsdl,查看是否显示 wsdl,如果正常,会出现如下图所示:

使用CXF开发WebService客户端

接着开发客户端

第一步:创建一个Java 项目,我创建的是WS_Client

第二步:调用CXF提供的wsdl2java工具,根据wsdl文档生成相应的Java代码。不管是哪种开发语言都要提供并暴露WSDL文档
具体操作:注:我的workspace在F盘,先转到src路径,F:\workspace\WS_Client\src,然后使用wsdl2java
我的是wsdl2java http://202.200.113.204/?wsdl
然后会在src下自动生成一些文件。wsdl2java所生成的类中,一个继承了service的类,该类的实例可以当工厂来使用
使用CXF开发WebService客户端

第三步:创建ClientMain类,
package wuqiang;

import edu.xaut.cxf.ws.HelloWorld;
import edu.xaut.cxf.ws.impl.HelloWorldWebService;

public class ClientMain {
      public static void main(String args[]) {

            HelloWorldWebService factory = new HelloWorldWebService();

            // 此处返回的只是远程WebService的代理
            HelloWorld helloWorld = factory.getHelloWorldWSPort();

            System.out.println(helloWorld.sayHello("Libra"));
      }
}

第四步:运行
运行结果:Hello Libra,it is Tue Dec 25 10:35:56 CST 2012
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值