我们计划开发一个Flex应用程序,它必须进行AMF调用才能从安全服务器检索数据。但是,我们不允许使用AMF直接连接到该安全服务器。我们只能对安全服务器进行WSDL/SOAP或.net远程处理调用。因此,在客户端计算机上运行的flex应用程序的所有实例都必须连接到单个可信服务器,然后该服务器将连接到安全服务器.。
这些要求是基于公司内部的政治原因而不是灵活的(不是总是这样吗?)
如果需求不明确,下面是一个示例。当您通过银行网站访问您的支票帐户时,该网站将下载一个flex/flash应用程序到您的web浏览器。此应用程序显示您的帐户、事务、余额等。但是,您的实际支票帐户详细信息存储在银行的安全数据库服务器上,该服务器不接受来自客户端的入站连接。因此,浏览器中的flex应用程序对银行网站进行AMF调用,反过来可以对数据库服务器进行WSDL/SOAP或.net远程处理调用。它获取数据并通过AMF将其发送回浏览器。
是否有一个我们可以在web服务器上运行的“代理”应用程序,它将接受AMF调用并反过来对安全服务器进行WSDL/SOAP或.net远程处理调用?或者我们必须用手写这个?
发布于 2009-08-26 04:34:35
如果您碰巧在web服务器中使用asp.net,您可以使用FlourineFx (开源)或WebOrb (商业)作为您的服务器。
这两个选项都可以托管在IIS中,也可以充当windows服务。
然后,您可以删除dotnet类库,以便在服务器的bin目录中连接到您的安全服务器。
发布于 2009-02-18 04:22:38
我将使用自定义的java类(使用BlazeDS )使JavaAdapter服务器成为代理。然后,您的java类将作为对主服务器的外观。
这种设置的优点是,blazeDS代理服务器将处理AMF请求和响应的所有序列化/反序列化。然后,您就拥有了java的全部功能,可以调用您的主服务器来使用RMI、SOAP、HTTP等。这样,主服务器就不需要知道任何关于AMF的信息。
其他选项:1.AMF仍然作为二进制数据在基本http请求中传递。因此,一个简单的HTTP代理应该正确地转发请求。但是,如果您这样做,最终的服务器将需要知道如何处理AMF协议。
https://stackoverflow.com/questions/559013
复制相似问题