使用XFire编写第一个javaee上的web service程序

1.CXF简介

2. 如何实现简单的hello world程序

3. 试试在.net环境下调用上面的服务

4. 代码下载 

1. XFire简介

CXF代替了XFire,但是 XFire仍旧在维护。XFire大大简化了javaee平台下面web service的开发(myeclipse开发环境中更加如此)。同时能够支持WS-*等功能。

2. 如何实现简单的hello world程序

下面开始实现第一个web service程序,还是从hello world开始啦。

2.1 在myeclipse 6.5中新建一个web service工程。


 

一路next,最终建立了第一个web serivice工程。

2.2 下面新建一个新的service。

 

 

 

myeclipse将生成HelloWorldService.java,同时环境已经配置好。修改上面生成两个文件:

 HelloWorldServiceImpl.java:

package jefferyxu.services;
//Generated by MyEclipse

public class HelloWorldServiceImpl implements IHelloWorldService {

    
public String sayHello(String user) {
        
// TODO Auto-generated method stub
        return "Hello, " + user;
    }
}  
 

IHelloWorldService.java:

package jefferyxu.services;
//Generated by MyEclipse

public class HelloWorldServiceImpl implements IHelloWorldService {

    
public String sayHello(String user) {
        
// TODO Auto-generated method stub
        return "Hello, " + user;
    }
 }   
 

2.3 将上述工程部署到tomcat中。

2.4 生成web service的客户端。

 


 

完成之后,生成 HelloWorldServiceClient.java文件,修改main函数代码:   

public static void main(String[] args) {
        HelloWorldServiceClient client = new HelloWorldServiceClient();
        
        
//create a default service endpoint
        HelloWorldServicePortType service = client.getHelloWorldServiceHttpPort();
        
        
//TODO: Add custom client code here
                
//
                
//service.yourServiceOperationHere();
        String webSerivceResult = service.sayHello("qiang.xu");
        System.out.println(
"get the result form web service is " + webSerivceResult);
        System.out.println(
"test client completed");
                System.exit(
0);
    }

运行Main函数,将出现Hello,qiang.xu的字符串,表明正确调用了web service。

3. 试试在.net环境下调用上面的服务

.net中调用web service比较简单,添加web service reference,并命名为JavaEEServiceReference,测试代码:

namespace JavaEEWebServiceConsumer
{
    
class Program
    {
        
static void Main(string[] args)
        {
            Console.WriteLine(
"get the message from javaee websservice");
            
            JavaEEServiceReference.HelloWorldServicePortTypeClient proxy 
=
                
new JavaEEServiceReference.HelloWorldServicePortTypeClient();
            String message 
= proxy.sayHello("qiang.xu");
            Console.WriteLine(
"the javaee web service return :" + message);

            Console.WriteLine(
"press any key to continue");
            Console.ReadKey();
        }
    }

4. 代码下载  

/Files/xuqiang/CXFDemo.rar

/Files/xuqiang/JavaEEWebServiceConsumer.rar 

posted @ 2011-03-29 16:43  qiang.xu  阅读(791)  评论(0)    收藏  举报