我有Spring Boot 2.1.6.RELEASE,并且通过WebServiceTemplate发送SOAP请求。
当我想获得响应时,我的对象的字段为null。 但是响应存在于日志中。而且我也不例外。
我正确设置了marshaller和umarshaller。 我也不例外。 SOAP请求已发送,响应已接收并已记录。
此代码可在其他服务中使用。但是另一个服务有Spring boot 1.5.x和2.0.1
我不知道那是什么。
请帮助我
public byte[] generate(String reportPath, ReportType reportType, Object reportData) throws DaoException {
try {
String reportDataXml;
if (reportData instanceof String) {
reportDataXml = (String) reportData;
}
else {
reportDataXml = MarshallUtils.fromEntityToXml(reportData);
}
byte[] reportDataBase64 = reportDataXml.getBytes();
RunReport report = new RunReport();
report.setUserID(username);
report.setPassword(password);
ReportRequest reportRequest = new ReportRequest();
reportRequest.setAttributeFormat(reportType.name());
reportRequest.setReportAbsolutePath(reportPath);
reportRequest.setReportData(reportDataBase64);
report.setReportRequest(reportRequest);
RunReportResponse response = (RunReportResponse) getWebServiceTemplate().marshalSendAndReceive(reportServiceUrl,report);
return response.getRunReportReturn().getReportBytes();
} catch (Exception e) {
throw new DaoException(e);
}
我有RunReportResponse,但所有字段均为空。