我的基于 Java 的 Web 应用程序正在与远程 WSDL Web 服务交互。
我构造了一个特定于服务的 WSDL 请求。我使用 HTTP 客户端发出此 WSDL 请求,并返回 WSDL 响应。
由于我的情况可以接受,为了优化性能和带宽使用,我想缓存 WSDL 响应,以便下次我发出相同的请求时,我的 Web 应用程序可以直接从持久数据库加载响应。
有了JAXB.marshal
,JAXB.unmarshal
我可以得到序列化 XML 格式和“Java 对象表示”的响应表示。所以我有了建立一个数据库来保存编组的 XML 表示的想法。但在我的例子中,典型响应的 XML 文件表示很容易达到 200 KB。正如我们对 XML 文件所了解的那样,这个大小在很大程度上与 XML 的冗长有关,并且可能会大大减少以优化数据库容量使用和数据库读写速度。
是否有缓存和持久化 WSDL 响应的有效方法?也就是说,我正在寻找一种为函数实现映射的好方法 f(someWSDLRequest) -> someWSDLResponse