有没有人使用AS2协议进行EDI?

时间:2009-12-22 13:52:53

标签: c# edi

我不知道是否有人可以指出我正在编写代码以通过AS2发送文件的正确方向?

2 个答案:

答案 0 :(得分:13)

我的一位同事前段时间为我们的一位客户写了一个AS#的C#实现(他使用的是.NET 1.1)所以我可以告诉你,你想要做的事情当然是可以实现的。

要做到这一点,您需要获得AS2 RFC的副本以及AS2引用的任何其他RFC(例如,各种HTTP)。

您还需要一些东西来测试您的工作 - 您可以将消息发送到AS2的其他一些实现。

这是我的同事遵循的方法,并且在流程结束时,他已经制作了AS2运输工具,该工具已经生产了大约7年,与使用Drummond认证产品的几家跨国公司打交道。

您不一定需要沿着这条轨道走下去 - 您只需在HTTP帖子中提供正确的AS2标头即可发送有效的AS2消息,但之后您只能实现AS2标准的最小子集,不包括使其值得使用的协议的加密,身份验证和不可否认性方面。

如果您只想发送AS2,可能使用基本加密和签名,这可能是可行的。


但是,强烈建议您不要编写自己的AS2实施,除非您a)绝对必须或b)确定您只会发送简单加密和签名的基本邮件。

我这样说是因为:

  1. 代码非常重要
  2. 您将遇到有关认证的问题
  3. 认证问题可能是最大的障碍。所有大型供应商AS2产品(例如Gentran,WebSphere,BizTalk)均获得德拉蒙德认证。这意味着他们已经通过Drummond Group Inc.管理的一系列测试,确定他们的AS2实施可以与所有其他实施互操作。

    Drummond认证是一个耗时且昂贵的过程,如果没有它,您始终被视为可疑。即使你实现了一个完美的AS2发送器,你的代码也总是指向手指。


    就替代方案而言,有几个免费或相对便宜的AS2实现,如OpenAS2(仅限Java)或Boomi(商业但不太昂贵),直到完整的B2B引擎,如Websphere和的BizTalk。

    我之前没有听说过AS2Box,但它确实听起来可以满足您的需求(尽管通常使用AS2的人不希望通过不受信任的第三方)。

    与任何事情一样,它实际上取决于你需要做的具体细节。

答案 1 :(得分:0)

这有点晚了,但为了使这个答案保持最新:现在使用Azure Biz Talks服务,使用BizTalk并不算太糟糕。这是一个很好的例子: http://code.msdn.microsoft.com/windowsazure/Windows-Azure-BizTalk-EDI-8ebd429f