您的位置:首页 > 其它

WebService入门案例

2015-01-30 23:10 274 查看
首先服务器端,分为六步

第一步:创建一个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包

第四步:发布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://localhost:8888/HelloWorldWebService",
helloWorld);

System.out.println("publich
success!");

}

}

第五步:运行

运行结果是:publich success!

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





接着开发客户端

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

第二步:调用CXF提供的wsdl2java工具,根据wsdl文档生成相应的Java代码。不管是哪种开发语言都要提供并暴露WSDL文档

具体操作:注:我的workspace在F盘,先转到src路径,F:\workspace\WS_Client\src,然后使用wsdl2java

我的是wsdl2java http://localhost:8888/HelloWorldWebService?wsdl
然后会在src下自动生成一些文件。wsdl2java所生成的类中,一个继承了service的类,该类的实例可以当工厂来使用




第三步:创建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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: