首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WCF客户端使用JAVA Web服务 - 我应该使用WCF还是只创建自定义解析器/消息工厂?

在这个问题中,涉及到了两种技术:WCF(Windows Communication Foundation)和Java Web服务。问题主要关注的是在开发客户端时,是选择使用WCF还是创建自定义解析器/消息工厂。

首先,我们来了解一下WCF和Java Web服务:

  1. WCF(Windows Communication Foundation):WCF是一个用于构建面向服务的应用程序的框架,它提供了一种简化的方法来实现服务和客户端之间的通信。WCF支持多种传输协议和消息格式,如HTTP、TCP、UDP、MSMQ等,以及多种消息格式,如XML、JSON、二进制等。
  2. Java Web服务:Java Web服务是一种基于Java平台的Web服务技术,它允许Java应用程序通过网络进行通信。Java Web服务可以使用多种标准,如SOAP、WSDL、UDDI等,并支持多种传输协议和数据格式。

关于选择WCF还是创建自定义解析器/消息工厂,我们可以从以下几个方面进行考虑:

  1. 技术成熟度:WCF是一个成熟的框架,已经在许多企业和项目中得到了广泛应用。而自定义解析器/消息工厂可能需要更多的开发和维护工作。
  2. 扩展性和灵活性:WCF提供了丰富的扩展点,可以根据需要进行定制和扩展。而自定义解析器/消息工厂需要开发者自己实现所有的功能,可能会有一定的局限性。
  3. 社区支持和文档:WCF得到了广泛的社区支持和丰富的文档资源,而Java Web服务在这方面的支持可能略逊于WCF。
  4. 跨平台性:Java Web服务是跨平台的,可以在不同的操作系统和平台上运行。而WCF主要针对.NET平台,可能不太适合其他平台的开发。

综上所述,如果您需要构建一个面向服务的应用程序,并且希望使用一个成熟的框架来简化通信过程,那么WCF可能是一个不错的选择。如果您需要更多的灵活性和控制权,或者希望实现自定义的解析器/消息工厂,那么可以考虑使用Java Web服务。

推荐的腾讯云相关产品:

  1. 腾讯云API网关:API网关可以帮助您管理API的创建、发布、运维和监控,支持多种协议和数据格式,可以帮助您快速构建API服务。
  2. 腾讯云消息队列:消息队列可以帮助您实现异步通信和解耦,支持多种消息协议和数据格式,可以帮助您提高系统的可扩展性和可靠性。
  3. 腾讯云容器服务:容器服务可以帮助您快速构建、部署和管理容器化应用,支持多种容器运行时和编排工具,可以帮助您实现应用的快速迭代和部署。
  4. 腾讯云Serverless:Serverless可以帮助您快速构建无服务器应用,支持多种触发器和运行时,可以帮助您降低运维成本和专注于业务开发。

推荐的产品介绍链接地址:

  1. API网关:https://cloud.tencent.com/product/apigateway
  2. 消息队列:https://cloud.tencent.com/product/mq
  3. 容器服务:https://cloud.tencent.com/product/tke
  4. Serverless:https://cloud.tencent.com/product/scf
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

通过一个模拟程序让你明白WCF大致的执行流程

在《通过一个模拟程序让你明白ASP.NET MVC是如何运行的》一文中通过一个普通的ASP.NET Web程序模拟了ASP.NET MVC的执行流程,现在我们通过类似的原理创建一个用于模拟WCF服务端和客户端工作原理的模拟程序...[源代码从这里下载] 目录 一、基本的组件和执行流程 二、创建自定义HttpHandler实现对服务调用请求的处理 三、定义创建WCF组件的工厂...我们模拟WCF完成一个简单的服务调用所必需的组件和流程,右图反映了进行服务调用的必要步骤和使用的相关WCF组件。...isProxy参数表示创建的是客户端消息格式化器(True)还是分发消息格式化器(False)。...“寄宿”和调用 现在我们创建一个服务寄宿在我们自定义的迷你版本的WCF中。

1.4K60

WCF技术剖析(卷1)之前言

如果读者也像我一样,之前习惯了采用.NET Remoting、XML Web Service、WSE、MSMQ来架构你分布式应用的话,应该不难想象第一次接触WCF时心中的那份震撼。...消息编码(Message Encoding)是本章的重点,我们会对WCF采用的三种典型的编码方式进行全面的分析和比较,在本节的最后部分还是深入介绍消息编码分别在WCF服务端与客户端框架中的实现原理。...第八章 客户端(Client) 本章主要介绍在客户端如何创建服务代理进行服务调用,以及WCF客户端框架内部如何完成一次正常的服务调用。...WCF具有两种典型的服务调用方式:通过添加服务引用或者通过相应的工具导入元数据并声称客户端代理类型(继承字ClientBase)和相关配置;借助ChannelFactory直接创建服务代理对象...最后需要感谢博客文章的所有读者,使你们让具有了创建的勇气。 当然,必须感谢我们父母,赐予一颗不算愚笨的脑袋,并从小培养我独立思考的习惯。

963100

快速入门系列--WCF--01基础概念

记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winform时,使用过Remoting,再之后做B/S架构时,就会经常使用.NET平台下的Web Service,直到使用WCF...一般来说,企业内部的服务推荐使用RPC类型的服务,如NetTcpBinding,而对外服务推荐使用WSHttpBinding,当然实际项目中,对外服务一般不会使用WCF框架,而是使用Restful风格的...此外,也可以建立自定义的绑定,将框架提供的绑定元素进行重新组合,更有甚者,可以自定义绑定元素,不过这部分内容使用的场景非常的少。...这3中场景包括:异步的信道调用,客户端可以通过代理对象异步的调用信道;单向消息交换,客户端的信道通过单向的消息交换模式向服务端发送消息,发送立刻返回;异步服务实现,服务端在具体实现服务操作时,采用异步调用的方式...异步服务代理的创建,可以通过在添加服务引用时通过高级选项添加生成异步操作选项,之后可以通过使用BeginXX/EndXX方法、回调和事件注册等方式使用异步服务代理类。

1K100

WCF的绑定模型》博文系列汇总

绑定通过创建信道栈实现了消息的编码与传输,以及对WS-*协议的实现。WCF绑定模型涉及多种类型的组件,比如信道、信道监听器、信道工厂等等。...对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客户端的请求,而客户端的信道仅仅是单纯的创建用于消息发送的信道。...在WCF中,所有的信道管理器,不管是位于服务端的信道监听器还是客户端的信道工厂,都继承自一个基类:.ChannelManagerBase。...[第4篇] 信道工厂(Channel Factory) 由于信道管理器在客户端服务端所起的不同作用,分为信道监听器和信道工厂。和服务端的信道监听其相比,处于客户端的信道工厂显得简单。...从对象的创建来讲,信道管理器是信道的创建者。说的再具体点,客户端的信道通过信道工厂创建服务端的信道通过信道监听器创建。但是信道工厂和信道监听器又是如果被创建出来的呢?

485100

WCF技术剖析(卷1)》(修订版)目录

构建整个解决方案 1.3.2 步骤二 创建服务契约 1.3.3 步骤三 创建服务 1.3.4 步骤四 通过自我寄宿的方式寄宿服务 1.3.5 步骤五 创建客户端调用服务 1.3.6 步骤六 通过IIS...为服务端终结点指定地址 2.4.2. 在客户端指定地址 2.4.3. 地址报头 2.3. 端口共享 2.3.1. 端口共享在WCF中的意义何在? 2.3.2....信道栈的创建/使用模式 3.3.3. 实例演示:自定义信道监听器(S302) 3.4. 信道工厂 3.4.1. IChannelFactory与ChannelFactoryBase 3.4.2....序列化在WCF框架中的实现 5.7.1. 消息格式化器 5.7.2. DataContractSerializer还是XmlSerializer? 5.7.3....一个特殊的信道工厂 8.2.3. ChannelFactory的开启 8.3. 服务代理 8.3.1. 服务代理的创建 8.3.2. 四个重要的接口 8.3.3.

1K80

2019-2-12-wcf入门(14)

比如消息传送过程中丢包了,可以通过一些方式(如服务端通知客户端重发),确保这个消息还能完整的传送到目标节点 对于协议的第二个目标。...比如客户端发送消息时,服务端正好不可用(比如重启),那么可以通过一些方式(比如缓存消息,至服务可用时再发送),确保服务端可用时能够收到消息 可靠消息的实现 可靠消息的在wcf的实现方式有两种:队列和可靠会话...利用通道工厂需要再创建一个BindingElement子类,重写BuildChannelFactory,返回自定义通道工厂 服务实现 服务示例同2019-1-27-wcf入门(6) - huangtengxiao...创建服务客户端进程 ? 在服务端我们创建一个CustomBinding将UnreliableElement和TcpTransportBindingElement传入 ?...如何:在可靠会话内保护消息 - Microsoft Docs 如何:使用 HTTPS 创建自定义可靠会话绑定 - Microsoft Docs 可靠会话的最佳做法 - Microsoft Docs 如何

41920

之三:信道监听器(Channel Listener)

对于WCF的信道层来说,信道管理器在服务端和客户端扮演着不同的角色,服务端的信道管理器在于监听来自客户端的请求,而客户端的信道仅仅是单纯的创建用于消息发送的信道。...因此,客户端消息管理器又称为信道监听器(Channel Listener),客户端的信道管理器则成为信道工厂(channel factory)。...在WCF中,所有的信道管理器,不管是位于服务端的信道监听器还是客户端的信道工厂,都继承自一个基类:System.ServiceModel.Channels.ChannelManagerBase。...图1 信道监听器接口与基类 三、案例演示:如何自定义信道监听器 在上面一节的案例演示中,我们创建了两个用于请求-回复消息交换模式下的自定义信道,一个是实现了IRequestChannel的SimpleRequestChannel...在本案例以及接下来的案例演示中,我们将为这两个自定义创建两个相应的信道管理器,其实一个是用于创建SimpleRequestChannel的自定义信道工厂,另一个则是创建SimpleReplyChannel

52460

WCF的Binding模型之四:信道工厂(Channel Factory)

由于信道管理器在客户端服务端所起的不同作用,分为信道监听器和信道工厂。和服务端的信道监听其相比,处于客户端的信道工厂显得简单。从名称就可以看得出来,信道工厂的作用就是单纯的创建用于消息发送的信道。...与之相对地,WCF也为信道工厂定义了两个接口:IChannelFactory和IChannelFactory。...二、案例演示:如何自定义信道工厂 在上一个案例中,我们创建了一个自定义的信道监听器:SimpleReplyChannelListner。该信道监听器用于在请求-回复消息交换模式下进行请求的监听。...在本案例中,我们来创建与之相对的信道工厂:SimpleChannelFactory,用于请求-回复消息交换模式下进行用于请求发送信道的创建。...OnCreateChannel是核心大方法,实现了真正的信道创建过程,在这里我们创建了我们自定义的信道:SimpleRequestChannel.。构建SimpleRequestChannel.

51290

WinForm企业应用框架设计【一】界限划分与动态创建WCF服务(no svc!no serviceActivations!)

WinForm企业应用框架设计【二】团队内部的约定和客户端按约定识别WCF服务 WinForm企业应用框架设计【三】框架窗体设计;动态创建菜单; WinForm企业应用框架设计【四】动态创建业务窗体 WinForm...3.客户端根据约定自动识别WCF服务 4.客户端框架窗体(如上图所示) 5.动态菜单与动态业务窗体 如果反响不错~将加入如下内容 6.组织架构和人事管理 7.角色权限控制 8.自定义打包工具 好吧~真正的言归正传...WCF服务的核心代码 想动态创建WCF服务ServiceHostFactory是必不可少的~ (服务工厂嘛~看名字就知道啦~) 其次我们循环创建了ServiceRoute的实例 ServiceRoute...是“允许创建支持 REST 方案的 HTTP 服务路由” (我们动态创建服务路由支持HTTP的绑定,也是这里造成的) 然后把这些服务路由都存到RouteTable中,放到RouteTable中只是注册了服务路由...在这个代码中,我们约定以Service结尾的类型就是WCF服务类型 亲~这是约定优于配置的原则哦~ 当然我们应该为特例留下生存空间,这里没有做,亲,你自己实现吧 这虽然是核心代码,但没有配置文件也是不行的

55140

WCF客户端运行时架构体系详解

对于这样一个服务代理对象,其内部本质上还是借助于ChannelFactory创建真正用于进行服务调用的代理对象。...操作和操作选择 三、 客户端操作(ClientOperation) 一、创建ChannelFactory 服务调用的本质实际上是针对服务的某个终结点的调用,说得具体地应该是...如果服务端具有采用一个基于HTTP协议的传输信道进行请求的监听,客户端就不能使用一个基于TCP的传输信道。服务端和客户端必须具有一个相同的消息编码信道才能确保被一方编码的消息能够被另一个解码。...此外,几乎所有的WS-*规范在WCF的实现都是通过自定义信道来控制消息交换来完成的,所以这也要求客户端服务端必须具有对等的信道设置; 契约(Contract):契约最终决定了基于某个操作的服务调用应该采用的消息交换模式...我们可以自定义参数检器实现针服务调用前对输入参数的验证,以及服务调用后对返回值和输出参数的验证。 WCF客户端运行时架构体系详解[上篇] WCF客户端运行时架构体系详解[下篇]

1.3K110

WCF技术剖析之一:通过一个ASP.NET程序模拟WCF基础架构

不过,一改传统对WCF的工作流程进行平铺直叙,将另辟蹊径,借助于我们熟悉的ASP.NET作为请求处理平台,通过一个简单的托管程序模拟整个WCF客户端服务端的架构。...我们首先来简单介绍一下对于一个简单的WCF服务调用,WCF客户端服务端框架的处理流程,和该流程的每一个阶段都使用那些重要组件。...图1 精简版WCF客户端服务端组件 图1反映了进行服务调用的必要步骤和使用到的相关WCF组件。...图2 WCF框架模拟案例应用结构 步骤一、通过服务契约类型创建相关组件 WCF在整个服务调用生命周期的不同阶段,会使用到不同的组件。...客户端框架下,客户端通过ChannelFactory创建服务代理对象进行服务的调用,在这里我们也创建一个完成相似功能的工厂类型: SerivceProxyFactory,泛型类型T代表服务契约类型

99480

WCF的Binding模型之五:绑定元素(Binding Element)

在上面的内容中,先后介绍了信道、信道管理器、信道监听器和信道工厂。从对象的创建来讲,信道管理器是信道的创建者。说的再具体点,客户端的信道通过信道工厂创建服务端的信道通过信道监听器创建。...但是信道工厂和信道监听器又是如果被创建出来的呢? 我们在一开始就已经说过,作为终结点三要素的绑定对象实现了所有的通信细节,并且通过创建信道栈实现了消息的传递。...在介绍信道和信道栈的时候我们说过,我们不可能、也不应该创建一个万能的信道能够提供消息交换中的所有的功能,所以我们让一个信道承载某个单一的功能,比如传输信道专注于网络传输,消息编码信到专注于消息的编码,...在上一个案例演示中,我们创建自定义的绑定元素:SimpleBindingElement,在案例中我们来真正使用绑定元素,为此我们创建一个直接继承自Binding的自定义绑定。...为了简单起见,对于我们自定义的绑定,他仅仅包含三个必须的绑定元素:传输绑定元素和消息编码绑定元素,外加我们自定义的绑定元素。

630100

WCF中的Binding模型之一: Binding模型简介

WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...无论从功能上讲,还是WCF的整个基础构架的层次结构上讲,WCF可以分成两个不部分:编程模型和通信实现。...由于WCF采用完全基于消息的通信方式,所有功能的实现,无论是业务有关的,还是业务无关的,都是通过消息交换来实现的。...在服务端,通过信道监听器对服务请求进行监听,当请求消息被成功检测,则通过信道监听器创建信道栈对请求消息进行接收和处理;在客户端,信道栈被信道工厂创建,并用于请求消息的处理和发送。...一般来讲,信道管理器,无论是信道监听器还是信道工厂,都对应着一个绑定元素(binding element)对象。绑定元素负责对相应信道管理器的创建

74880

使命必达: 深入剖析WCF的可靠会话(内含美女图片,定力差者慎入)

接下来我们将要演示的实例是对可靠会话确保WCF消息传输的可靠性的一个直观的反应,也是早年微软推广WCF技术频繁使用的案例:图片传输。...步骤一:通过自定义信道模拟不稳定的网络 为了对网络传输过程中的丢包率能够进行动态控制,特意创建一个特殊的类型MessageInspector。...接下来我们为该自定义信道创建信道管理器,由于该信道客户端使用,我们只需要为之创建信道工厂即可(Channel Factory)。...图1 图片接收窗口 步骤四:创建图片发送程序 最后我们来编写我们的图片发送端程序,即如果对图片进行切片,并通过调用图片传输服务对切片进行发送。我们照例先来看看WCF客户端的配置: <?...,客户端也配置了三种自定义绑定。

1.1K100

WCF中的Binding模型之一: Binding模型简介

WCF是所有的这些通信技术集大成者,它充分地整合了所有这些使用于不同领域、不同场景的通信技术,提供了一个统一的编程模型。...无论从功能上讲,还是WCF的整个基础构架的层次结构上讲,WCF可以分成两个不部分:编程模型和通信实现。...由于WCF采用完全基于消息的通信方式,所有功能的实现,无论是业务有关的,还是业务无关的,都是通过消息交换来实现的。...在服务端,通过信道监听器对服务请求进行监听,当请求消息被成功检测,则通过信道监听器创建信道栈对请求消息进行接收和处理;在客户端,信道栈被信道工厂创建,并用于请求消息的处理和发送。...一般来讲,信道管理器,无论是信道监听器还是信道工厂,都对应着一个绑定元素(binding element)对象。绑定元素负责对相应信道管理器的创建

85460

不同的.Net版本客户端软件调用Java Web Service区别

System.ServiceModel.ClientBase:提供用于创建可以调用服务的Windows通信基础(WCF)客户端对象的基本实现。...主要用于调用WCF创建的各种Binding类型的服务,当然也包括BasicHttpBinding也就是Soap 1.1。 接下来使用此代理类调用web服务。...这里碰到一个问题,Soap版本的问题,因为自动生成的代理类支持soap1.1,可我们Java web服务是基于高版本的soap协议, 结果调研失败。 Java服务端改回1.1版。 接着继续。...又发现一个坑,本来应该从.Net Client 传送到Web Service上的参数,服务器接收不到。 使用Soap工具跟踪,发现soap消息里根本就没有。...而使用Java客户端调用和返回都是正常的。 经过监视soap消息,发现消息中其实已经返回了对象数据。怀疑是在soap消息反序列化成.net对象时候出了问题。可这个问题一直没找到原因。

1.4K30

WCF服务调用超时错误:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:05:30”(已解决)

问题:   线上正式环境调用WCF服务正常,但是每次使用本地测试环境调用WCF服务时长就是出现:套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。...解决方案: 在调用wcf服务端的web.config中配置netTcpBinding这个配置,将receiveTimeout完成接收操作提供的时间间隔设置为:00:05:30即可解决(或者使用默认配置...Windows Communication Foundation (WCF) 的许多部件使用缓冲区。 每次使用缓冲区时,创建和销毁它们都将占用大量资源,而缓冲区的垃圾回收过程也是如此。...接收方将删除该消息,并在跟踪日志中创建事件项。 默认值为 65536。 name 一个包含绑定的配置名称的字符串。 因为此值用作绑定的标识,所以它应该是唯一的。...如果此值为 false,则每个绑定都使用自己的独占端口。 此设置服务相关,因为客户端不受影响。 receiveTimeout 一个 TimeSpan 值,指定为完成接收操作提供的时间间隔。

2.3K10

WCF技术剖析》博文系列汇总

问题是这样的,他说他采用ASP.NET应用程序的方式对定义的WCF服务进行寄宿(Hosting),并使用配置的方式对服务的BaseAddress进行了设置,但是在创建ServiceHost的时候却抛出...我们想对WCF具有一定了解的人都会知道:在客户端通过服务调用进行服务调用过程中,服务代理应该及时关闭。但是如果服务的代理不等得到及时的关闭,到底具有怎样的后果?什么要关闭服务代理?...[第10篇] 调用WCF服务客户端应该如何进行异常处理 在前面一片文章(服务代理不能得到及时关闭会有什么后果?)...第二,WCF是一个极具可扩展性的通信框架,可以灵活地创建一些自定义WCF扩展(WCF Extension)以实现你所需要的功能。...如同WCF的插件一样,这些自定义WCF扩展以即插即用的方式参与到WCF整个消息处理流程之中。了解 WCF整个消息处理流程是灵活进行WCF扩展的前提。

1.4K100

WCF技术剖析(卷1)之目录

构建一个简单的WCF应用            步骤一:构建整个解决方案            步骤二:创建服务契约            步骤三:创建服务            步骤四:通过自我寄宿的方式寄宿服务...            步骤五:创建客户端调用服务            步骤六:通过IIS寄宿服务    第2章  终结点地址与WCF寻址 (Endpoint Address and WCF Addressing...            7.4.4  案例演示7-3:利用ASP.NET兼容模式创建支持会话(Session)的WCF服务            7.5  通过Windows Service进行服务寄宿...            7.5.1  案例演示7-4:如何通过创建Windows Service寄宿WCF服务 第8章  客户端 (Client)     8.1  WCF客户端框架简述   ...(Interception)            8.1.3  案例演示8-1:通过自定义RealProxy实现日志功能            8.1.4  WCF客户端是如何进行服务调用的

91390
领券