`
maomaode
  • 浏览: 122702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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是否可以正常编译。
分享到:
评论

相关推荐

    java client客户短调用WCF服务代码1

    在Java中,可以使用Apache CXF或gson-jaxws等库生成服务代理类。 2. **创建服务代理实例**:根据生成的Java类,创建WCF服务的代理实例。这通常是通过构造函数完成,传入服务的地址。 3. **调用服务方法**:通过...

    java client客户短调用WCF服务代码2

    - 使用JAX-WS或Apache CXF等库,Java可以创建与WCF服务交互的客户端代理类。 - 在NetBeans中,可以创建一个新的Java Application项目(JavaApplication1),并导入所需的依赖库,如JAXB、wsimport工具等。 3. **...

    java调用.net wcf服务。

    接下来,根据项目需求选择合适的工具(如Apache Axis2或CXF)来生成客户端代理类。 **3. 生成代理对象** 在MyEclipse中,通过“New -&gt; Web Service -&gt; Web Service Client”来启动代理对象生成过程。在生成过程中,...

    Webservice具体使用的代码

    在Java中,你可以使用Apache CXF或Axis2等库来生成服务实现的骨架代码,然后填充业务逻辑。在C#中,Visual Studio可以自动生成服务类,只需添加相应的操作方法。服务实现完成后,部署到应用服务器,如Tomcat或IIS,...

    webservice demo

    这部分代码可能使用了诸如Apache CXF、 Axis或JAX-WS等库来生成客户端代理类,这些代理类使得调用Web服务就像调用本地方法一样简单。客户端通常需要WSDL文件来生成这些代理,以便知道服务的地址、操作和参数。 另一...

    PHP写的webservice可以供C#调用

    Java中,可以使用JAX-WS库(如Apache CXF)或者Java的`javax.xml.soap`包来实现SOAP客户端。 **总结:** 本案例展示了如何使用PHP创建SOAP Web服务,并且如何在C#中调用该服务。由于PHP和C#都支持SOAP,这种跨语言...

    几种调用WebService的方法

    1. **Java**:可以使用JAX-WS(Java API for XML Web Services)或Apache CXF等框架进行调用。 2. **Python**:可以使用`zeep`库或`suds-jurko`库来调用WebService。 3. **C#**:可以利用.NET Framework提供的`...

Global site tag (gtag.js) - Google Analytics