WCF肥皂/休息服务架构

时间:2016-02-18 12:57:49

标签: .net wcf soap duplex

之情况:

我正在开发一个旨在通过SOAP over HTTP实现的协议。 WSDL文件由第三方提供。

我使用wsdl.exe生成代理类并在VS中创建了一个Web服务项目。

wsdl.exe yourFile.wsdl /l:CS

我从一个展开的wsdl获得了一个cs。

段:

[System.Web.Services.Protocols.SoapHeaderAttribute("chargeBoxIdentity")]
[System.Web.Services.WebMethodAttribute()]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("/ClearCache",
RequestElementName="clearCacheRequest",
RequestNamespace="urn://Ocpp/Cp/2012/02/",
ResponseElementName="clearCacheResponse",
ResponseNamespace="urn://Ocpp/Cp/2012/02/",
Use=System.Web.Services.Description.SoapBindingUse.Literal,
ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("status")]
public abstract ClearCacheStatus ClearCache();

实施1(服务器端) 连接到设备的中央系统(服务器)。设备初始化后,会向中央系统发送授权。服务器响应授权消息。

此wsdl文件定义了许多其他操作,并且在我的wcf服务中可用。

所以,现在我想创建一个客户端,它可以连接这些硬件组件(基于这个wsdl文件托管服务)。客户端应该能够在给定ip的情况下连接任何这些硬件组件。与此同时,我必须听取这些硬件组件发出的请求。

我从R& D对此主题的理解中,有一个

Central System Service (Client) <---------------------> Charge point Service

Chargepoint Service (Client) <-------------------------> ChargeBox Service

中央系统(一个系统)可以向chargepoint Service发送请求/响应(许多实例,在不同网络后面)。和Chargepoint Service Client可以根据需要向(多个)电话箱发送请求/响应。每个收费箱都在separte IP地址上,并在其中运行服务。

我的目标是为CentralSystem和ChargePoint创建RESTServices,因此我可以轻松地在多个应用程序中使用它们,并提供跟踪呼叫的机制,通过chargePoint维护与费用盒的连接。

我试图为它查找不同的可能选项,但到目前为止似乎没什么好看的。我在stackoverflow上有几个线程,其中与OCPP相关的问题为此目的实现了wcf。我是webservices的新手,我没有正确的知识来解释在.Net框架中采用这种场景的最佳实践。

任何关于架构,程序或技术的链接,代码示例,指导都将受到高度赞赏

OCPP 1.6协议:http://www.openchargealliance.org/protocols/ocpp/ocpp-16/

PS:我正在尝试实施OCPP 1.6

0 个答案:

没有答案