在 Java 中创建 SOAP 服务门面

Create SOAP service facade in Java

我有一个 java Web 应用程序(带有 Servlet),它有几个基于 REST 和 SOAP 的接口。

对于 SOAP 接口,我有硬编码请求 XML,我 post 使用 Jersey HttpClient 并使用 StringUtils 从响应 XML 中提取数据。我没有在我的应用程序中为这些接口使用任何特殊库。

现在我必须创建一个使用异步消息传递的新 SOAP 接口,即我必须提供一个回调 URL 以发送实际响应。 问题是此接口需要回调 URL 以根据接口文档中给出的某些响应 WSDL 实现某些 SOAP Web 服务。

我不想为此实现 SOAP 服务器或添加库。我只是想为回调 URL 创建一个 servlet,它将接收响应 XML。有什么办法可以实现吗?

我创建了一个 servlet,其中一个 GET 和 POST 方法映射到回调路径 URL

GET 方法提供客户端接口所需的硬编码 WSDL。此 WSDL 中的端口地址再次指向回调 URL(由我的 servlet 处理),其中客户端接口发布响应 SOAP XML.

POST 方法从客户端接口接收响应 SOAP XML 并解析它以获得结果。

这样一来,一个 servlet 就可以充当 SOAP 服务,而无需添加任何外部库