我正在与WCF合作,与第三方公司交换消息.需要在与ebXML规范匹配的信封中发送和接收消息.理想情况下,我希望尽可能多地使用WCF堆栈,并避免使用一种方法来处理它们,因为在这种情况下,这意味着要再次编写WCF的大部分基础结构.
从我最初的研究中可以看出,这将需要我编写自己的自定义绑定,但我很难在MSDN的文档中找到清晰度.
我已经能够找到很多关于每个实现的详细文档,但很少关于如何将它们全部放在一起.在Peiris和Mulder的"Pro WCF"中,我所拥有的书籍似乎也同样关注这些主题.
我的目标是以下内容.
发送和接收的消息必须格式化如下,其中第一个元素的名称是要执行的操作的名称,子元素是请求消息的有效负载,其格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<op:DoSomething xmlns:op="http://my.ebXML.schema.com" xmlns:payload="http://payload.company.com">
<op:AnObject>
<payload:ImportantValue>42</payload:ImportantValue>
</op:AnObject>
</op:DoSomething>
Run Code Online (Sandbox Code Playgroud)
响应将是:
<?xml version="1.0" encoding="UTF-8"?>
<op:AcknowledgementResponse xmlns:op="http://my.ebXML.schema.com" xmlns:payload="http://payload.company.com">
<op:ResponseObject>
<payload:Ok>True</payload:Ok>
</op:ResponseObject>
</op:AcknowledgementResponse>
Run Code Online (Sandbox Code Playgroud)
由于消息都是由XML模式描述的,因此我使用XSD.exe将这些消息转换为强类型对象.有关架构,请参阅https://gist.github.com/740303.请注意,这些是示例模式.我不能在不违反客户保密协议的情况下发布真实的模式(你也不会因为它们庞大而想要我).
我现在希望能够编写服务实现,如下所示:
public class MyEndpoint : IMyEndpoint
{
public AcknowledgementResponse DoSomething(AnObject value)
{
return new AcknowledgementResponse
{
Ok = True;
};
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我正在寻找开发一个 C# 应用程序,该应用程序使用 AS4 将消息发布到 ebMS3 平台。我是这个领域的新手。有人可以帮忙吗?有没有第三方库可以轻松做到这一点?如果没有,我们如何使用 ac# 解决方案中的 AS4 发布消息。