我正在尝试为SPML searchRequest迭代器执行SOAP消息。我的端点是使用Quest SPML提供程序工具,它位于IIS之上。
问题是,我执行搜索,它返回结果和一个迭代器ID。你使用这个迭代器ID并发出另一个请求(这次是一个IteratorRequest),web服务将返回下一组项。
无论是通过软件提供的UI还是通过SoapUI完成此操作,我都没有问题,但是在通过Spring实现时,我得到了一个无效的ID。
经过一些挖掘,我发现了这个https://support.quest.com/SolutionDetail.aspx?id=SOL76284,它说明当端点的连接或会话丢失时,迭代器将无效。
我的问题是,有没有一种方法可以强制WebServiceTemplate.marshalSendAndReceive保持连接活动,直到我迭代完结果?或者我离题了,需要寻求一条不同的道路。
非常感谢!
发布于 2012-08-09 02:33:19
WebServiceTemplate使用messageSender通过所选的协议发送有效载荷。如果它是超文本传输协议,那么你可以配置它使用支持持久超文本传输协议连接(keep-alive)的HttpClient的HttpComponentsMessageSender。
笔记
启用池化
https://stackoverflow.com/questions/11870218
复制相似问题