java c soap_java与c平台通信wcfcxfsoap

41528d3028836879cd698677c3999917.gifjava与c平台通信wcfcxfsoap

问题提出 : 采用的方案 : Java 和 C# 的互操作性 , 采用基于 Soap 的通信协议 基于 C# 平台的 SOA 框架 ---WCF 简介 什么是 WCF 根据微软官方的解释, WCF 是使用托管代码建立和运行面向服务 (Service Oriented) 应用程序的统一框架。它使得开发者能够建立一个跨平台的、安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。 WCF 是微软分布 式应用程序开发的集大成者,它整合了 .Net 平台下所有的和分布式系统有关的技术,例如 .Net Remoting 、 ASMX 、 WSE 和 MSMQ 。以通信 (Communiation) 范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet ;以宿主程序而论,可以以 ASP.NET , , WPF , Windows s , NT Service , COM+ 作为宿主 (Host) 。 WCF 可以支持的协议包括 TCP , HTTP ,跨进程以及自定义,安全模式则包括 SAML , Kerberos , X509 ,用户 / 密码,自定义等多种标准与模式。 WCF 平台搭建 JAVA 调用 WCF DynamicClientFactory dcf = DynamicClientFactory.newInstance(); org.apache.cxf.endpoint.Client client= dcf.createClient(“http://localhost:37563/WebSite4/Service.asmx?wsdl“); Object[] reply = client.invoke(“HelloWorld“, new Object[]{}); System.out.println(“Server said: “ + reply[0].toString()); 基于 Java 平台的 SOA 框架 ---CXF 简介 详见 : http://cxf.apache.org/ Apache CXF = Celtix + XFire , Apache CXF 的前身叫 Apache CeltiXfire ,现在已经正式更名为 Apache CXF 了,以下简称为 CXF 。 CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、 DataBinding 、 Transport 以及各种 at 的支持,并且可以根据实际项目的需要,采用代码优先( Code First )或者 WSDL 优先( WSDL First )来轻松地实现 Web Services 的发布和使用。 Apache CXF 是一个开源的 Services 框架, CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如: SOAP 、 XML/HTTP 、 RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如: HTTP 、 JMS 或者 JBI , CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。 CXF 平台搭建 从 cxf 官方网站下载最新的发行包 ( 当前为 apache-cxf-2.2.3 版本 ) , 解压目录结构如下所示 : 文件目录结构及相关文件的详细说明: bin (目录) bin 目录中是 CXF 框架中所提供的代码生成、校验、管理控制台工具: Java to WSDL : java2wsdl CXF Management Console Tool : mc WSDL to Java : wsdl2java WSDL to Service : wsdl2service WSDL to SOAP : wsdl2soap WSDL to XML : wsdl2xml WSDL Validation : wsdlvalidator XSD to WSDL : xsd2wsdl docs (目录) CXF 所有类( class )对应的 API 文档,为开发者使用 CXF 完成应用开发提供应有的帮助。 etc (目录) 包含一个基本的 Service 暴露所需要的 web.xml 文件,及其它的配置文件。 lib (目录) lib 目录中包含 CXF 及其运行时所需要的和可选的第三方支持类包( .jar 文件),可以根据不同项目所需的 CXF 特性选择所需要的支持类包。如果不想一一去区分的话,可以直接在 Web 项目中包含所有的 CXF 及其运行时所需要的第三方支持类包( .jar 文件)即可。 其中 cxf-2.0.2-incubator.jar 是 CXF 框架的二进制包文件,包含了全部的模块( modules ), cxf-manifest-incubator.jar 是列表清单文件 manifest jar 。 以下的 jar 包是所有 CXF 项目所必需的: cxf.jar commons-logging.jar geronimo-activation.jar (Or the Sun equivalent) geronimo-annotation.jar (Or the Sun equivalent) geronimo-javamail.jar (Or the Sun equivalent) neethi.jar jaxb-api.jar jaxb-impl.jar stax-api.jar XmlSchema.jar wstx-asl.jar xml-resolver.jar 对于 Java2WSDL 和 WSDL2Java ,除了必需的之外,还需要再增加如下 jar 包:jaxb-xjc.jar veliocity.jar velocity-dep.jar 为了支持 JAX-WS ,除了必需的之外,还需要再增加如下 jar 包: jaxws-api.jar saaj-api.jar saaj-impl.jar asm.jar (可选的,但是可以提升包装类型的性能) 为了支持 XML 配置,除了必需的之外,还需要再增加如下 jar 包: aopalliance.jar spring-beans.jar spring-context.jar spring-core.jar spring.web.jar 为了独立的 HTTP 服务支持,除了必需的之外,还需要再增加如下 jar 包: geronimo-servlet.jar jetty.jar jetty-sslengine.jar jetty-util.jar sl4j.jar 这里要注意的是在接口上用 @WebService 注解标明这是一个即将暴露为 Web Service 的接口,并将里面的方法都暴露出去。完整的接口代码清单如下: p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值