【发布时间】:2016-03-25 21:29:16
【问题描述】:
我正在尝试向 SOAP 网络服务发送请求。我阅读了this tutorial 并准备了以下代码。但是,我将向多个 SOAP Web 服务发送不同的请求,而本教程只关注一个请求。如何使用WebserviceTemplate 发送 SOAP 请求?
WebServiceTemplate
SoapMessage soapMsg = new SoapMessage();
soapMsg.setUsername("Requester");
soapMsg.setPassword("Pass");
soapMsg.setLanguageCode("EN");
Request request = new Request();
request.setDeparture("FDH");
request.setDestination("HAM");
Date date = new Date();
SimpleDateFormat frm2 = new SimpleDateFormat("yyyy-MM-dd");
request.setDepartureDate(frm2.parse(frm2.format(date)));
request.setNumADT(1);
request.setNumCHD(0);
request.setNumInf(0);
request.setCurrencyCode("EUR");
request.setWaitForResult(true);
request.setNearByDepartures(true);
request.setNearByDestinations(true);
request.setRronly(false);
request.setMetaSearch(false);
soapMsg.setRequest(request);
WebServiceTemplate webServiceTemplate = new WebServiceTemplate(). //how to create object and send request!
Object response = webServiceTemplate.marshalSendAndReceive(
"https://aaa5.elsyarres.net", soapMsg);
Response msg = (Response) response;
System.err.println("size of results of wogolo:"
+ msg.getFlights().getFlight().size());
【问题讨论】:
-
您是否有充分的理由手动执行此操作?如果您有服务 wdsl 文件,则可以生成 Web 服务代理。 Here 是关于如何在 Eclipse 中执行此操作的说明。
-
@Pétur 问题是我没有 wsdl,我还要向多个基于 SOAP 的 Web 服务发送 SOAP 请求。
标签: java spring web-services soap jaxb