RAJ*_*RAJ 1 web-services spring-batch
我必须编写一个批处理(读取/处理/写入)来调用Web服务(SOAP)作为输入,然后处理结果(项目列表)以最终将它们写入数据库.我如何调用Web服务
我们做了类似的事情,这是我们的方法:
SOAP部分:
marshalSendAndReceive该服务器和方法基本上将xml请求发送到某个url并返回xml响应Jaxb2Marshaller用于序列化和反序列化以及从wsdl生成POJO弹簧批次部分:
ItemReader在哪里@BeforeStep获取要从SOAP服务器处理的项目列表(我不确定这是否是最好的方法,但是具有足够强大的重试机制),我们@Override的read方法没什么特别的,它是走过来的列表直到筋疲力尽示例:
项目阅读器正在使用SoapClient哪个是我的Web模板包装器,它正在进行soap调用,解组响应和返回项目列表.
@Component
@StepScope
public class CustomItemReader implements ItemReader<SoapItem> {
private List<SoapItem> soapItems;
@Autowired
private SoapClient soapClient;
@BeforeStep
public void beforeStep(final StepExecution stepExecution) throws Exception {
soapItems = soapClient.getItems();
}
@Override
public SoapItem read() {
if (!soapItems.isEmpty()) {
return soapItems.remove(0);
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7460 次 |
| 最近记录: |