将HTTP请求转换为SOAP请求

时间:2012-04-26 16:42:08

标签: java spring http rest soap

我有一个程序(称之为programA),它在本地计算机上作为Windows服务运行,拦截对端口80的任何请求,并在将请求转发到Web服务器/应用程序服务器之前对请求执行一些额外的工作。

我有一台应用服务器在另一台服务器上运行Sring MVC应用程序(programB),该服务器提供的页面将在programA运行的同一台机器上查看。同一应用程序服务器运行的Web服务(programC)可以接受SOAP消息并返回SOAP请求。

现在我想要做的是使用以下事件序列生成SOAP消息。

Step 1 - User loads the GUI application (programB) on the browser.  
Step 2 - User selects a link on the page which results in an HTTP request to be generated. 
Step 3 - On its way out, the HTTP request is intercepted by programA and formatted into a SOAP message and forward the request as a SOAP request to the web service (programC).  
Step 4 - The web service(programC) processes the request and returns the SOAP response back to programA.  
Step 5 - programA formats the response and returns it back as an HTTP response back to programA as the response for the original HTTP request for it to be displayed on the GUI.
程序A和programC是已经存在的现有应用程序,因此我只需要开发MVC GUI以及HTTP --> SOAPSOAP --> HTTP接口。

我正在努力解决的主要问题是第3步和第5步。具体来说,从programB到programA的数据格式是什么。

programA是一个基于java的应用程序,可以接受任何基于文本的格式,并且可以配置为理解大多数常见格式(XML,URL参数等),或者可以更新以支持其他格式(例如Json)。

我的主要问题如下:

  • 将来自programA的请求作为HTTP请求发送到programB的最常用方法是什么,以便programB可以生成SOAP请求。
  • XML可能是programA最容易处理的格式,但是可以将XML作为HTTP请求的一部分发送吗?我在想Javascript,但有没有更简洁的方法而不是手动构建XML文本?
  • 请求可以在每个链接中包含name = value参数。这些可以被programA使用,但同样听起来不够干净。

您有什么意见和使用的格式?

0 个答案:

没有答案