读了
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,
注意:你需要把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方法里填写如下的语句:
另外WCF提供了一个类似 CXF wsdl2java这样的工具SvcUtils.exe,这个工具在C:/Program Files/Microsoft SDKs/Windows/v6.0/Bin目录下.
在工程运行前,可以看看你的wsdl是否可以正常编译。
<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是否可以正常编译。