可以在.NET(C#/ VB)中打开/操作Java Web App吗?

时间:2011-01-16 04:58:03

标签: c# java .net vb.net java-web-start

我使用的是一个Java Web应用程序(app / screenshot,你需要注册,但它只是一个java web应用程序),但我想在其中自动化其功能一个.NET应用程序(C#或VB,没关系,我更喜欢C#)。

我已经尝试过搜索,但不幸的是“Java web”,“.NET”和“C#”等,不要回复任何有用的东西。是否可以在.NET应用程序中的控件(或通过其他方式)加载页面,从而对显示器本身起作用(数据流将被加密,因为它是https - 所以我不知道我是否能够读取来自java应用程序的数据,我假设没有,但是能够读取应用程序会很好),能够选择区域,单击,读取/输入数字和文本等。

我意识到这是一个非常广泛的问题,但是,如果有人可以就此问题提供一些建议/见解,那将会非常有用。

编辑添加:我想一个更好的问题可能是“与Windows apis的java web-start应用程序交互的方式?”或“可以在.NET应用程序中包含一个java web-start应用程序,并直接与Web应用程序的组件交互”

我也想知道是否可以将它加载到.NET格式的浏览器中,尽管我认为它只是启动web-start从表单控件中取出它。

2 个答案:

答案 0 :(得分:1)

我不知道我是否有你想要的答案,但我相信REST旨在解决开发人员希望通过其他平台访问遗留功能的问题。

如果通过REST接口公开了所有Java功能,则可以构建一个通过REST消耗这些资源的.NET应用程序。它不会解决将所有内容移动到.NET的问题。要迁移到.NET,您正在考虑重建整个应用程序。

如果这确实是你的目标,那么REST将让你在.NET中向前推进,其中可以在.NET中开发新功能,而旧功能可以无限期地保留在Java中,或者在小的,可管理的阶段中移植。

.NET和Java都有框架,允许您公开REST接口并安全地使用该Web服务。

答案 1 :(得分:1)

您应该能够隔离applet或object标记,并使用参数在独立的appletviewer中启动applet。 如果applet使用javascript网关与浏览器交互以进行身份​​验证或其他目的(因为javascript网关仅在浏览器中可用),那可能会失败。

一旦你能够在浏览器之外运行applet,你就可以尝试在你自己的进程中启动它,可以通过嵌入JVM或运行你自己的java代码,因为appletviewer只是初始化一个applet类,你可以自己做。

完成后,您可以相对轻松地进行屏幕抓取和控制。 查看java.awt.Frame.getFrames()以访问屏幕上显示的所有窗口。 这使您可以访问组件层次结构,即输入字段,按钮和其他组件。

祝你好运!你需要它。