使用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 @   qiang.xu  阅读(782)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示