Apache CXF Service with WCF client

读了 How to invoke a WSIT endpoint from a WCF client ?, 我在想,Apache CXF是不是也能和WCF集成呢?
<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">基本上按照他的步骤,进行了安装, 因为我是在Windows Vista下,所以,安装 .net framework 3.0 就跳过去了。大概的步骤是这样的:
* 下载并安装 Visual C# 2005 Express Edition
* 下载并安装 Windows Vista SDK
* 下载并安装 VS2005 扩展
注:安装之前,最好先确定你的操作系统已经安装了最新的更新
* 下载并安装最新的 Apache CXF
1. 启动Service
进入Apache CXF的hello_world sample,
> set CATALINA_HOME=YOUR_TOMCAT_HOME # 注,需要5.5以上版本
> ant deploy -Dtomcat=true
以上操作就是将HelloWorld service 部署到了Tomcat里
注意:你需要把pingme这个方法从wsdl里注视掉, 这个方法暂时还无法和WCF集成
至于为什么无法访问,你可以在 这里跟踪

2.创建WCF client

2.1 启动VS, 创建一个Console Application, Program.cs 就是你WCF client的入口
2.2 右键Solution Explorer, 选择 "Add Service Reference ...", 在弹出的对话框中URL处输入CXF service的地址 http://localhost:8080/helloworld/services/hello_world?wsdl
2.3 在main方法里填写如下的语句:

GreeterClient client = new GreeterClient();
ConsoleApplication1.localhost.sayHi request = new ConsoleApplication1.localhost.sayHi();
 ConsoleApplication1.localhost.sayHiResponse response = client.sayHi(request);
 
Console.WriteLine(response.responseType);
 
 
ConsoleApplication1.localhost.greetMe g = new ConsoleApplication1.localhost.greetMe();
 g.requestType = "greetme";
 
ConsoleApplication1.localhost.greetMeResponse gr = client.greetMe(g);
Console.WriteLine(gr.responseType);
 

2.4 在菜单上选择 Build/BuldSolution (或者快捷键Ctrl+Shift+B)
你需要保存整个项目, 这样在 C:/Users/Administrator/Documents/Visual Studio 2005/Projects 目录下,就可以看到你的项目ConsoleApplication1,
在子目录下你可以看到有Release和Debug两个目录, 执行Release目录下的ConsoleApplication1.exe, 你就可以看到这样的输出了:

Bonjour
Hello greetme

另外WCF提供了一个类似 CXF wsdl2java这样的工具SvcUtils.exe,这个工具在C:/Program Files/Microsoft SDKs/Windows/v6.0/Bin目录下.
在工程运行前,可以看看你的wsdl是否可以正常编译。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值