我正在尝试为SPML searchRequest迭代器执行SOAP消息。我的端点正在使用位于IIS之上的Quest SPML Provider工具。
问题是,我执行搜索,它返回结果和迭代器ID。您获取此迭代器ID并发出另一个请求(这次是IteratorRequest),Web服务将返回下一组项目。
当通过软件提供的UI或通过SoapUI完成此操作时,我没有任何问题,但是当通过Spring实现时,我得到了无效的ID。
经过一番挖掘后,我发现这个https://support.quest.com/SolutionDetail.aspx?id=SOL76284表明当连接或会话丢失到端点时,迭代器将变为无效。
我的问题是,有没有办法强制WebServiceTemplate.marshalSendAndReceive保持连接活着,直到我完成迭代结果?或者我是offbase,需要追求不同的途径。
非常感谢!
答案 0 :(得分:1)
messageSender是WebServiceTemplate用于通过所选协议发送有效负载的内容。如果是HTTP,则可以将其配置为使用HttpComponentsMessageSender,HttpClient使用支持持久HTTP连接的{{3}}(保持活动状态)。
注意强>