我不知道是否有人可以指出我正在编写代码以通过AS2发送文件的正确方向?
答案 0 :(得分:13)
我的一位同事前段时间为我们的一位客户写了一个AS#的C#实现(他使用的是.NET 1.1)所以我可以告诉你,你想要做的事情当然是可以实现的。
要做到这一点,您需要获得AS2 RFC的副本以及AS2引用的任何其他RFC(例如,各种HTTP)。
您还需要一些东西来测试您的工作 - 您可以将消息发送到AS2的其他一些实现。
这是我的同事遵循的方法,并且在流程结束时,他已经制作了AS2运输工具,该工具已经生产了大约7年,与使用Drummond认证产品的几家跨国公司打交道。
您不一定需要沿着这条轨道走下去 - 您只需在HTTP帖子中提供正确的AS2标头即可发送有效的AS2消息,但之后您只能实现AS2标准的最小子集,不包括使其值得使用的协议的加密,身份验证和不可否认性方面。
如果您只想发送AS2,可能使用基本加密和签名,这可能是可行的。
但是,强烈建议您不要编写自己的AS2实施,除非您a)绝对必须或b)确定您只会发送简单加密和签名的基本邮件。
我这样说是因为:
认证问题可能是最大的障碍。所有大型供应商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