Spring Boot 2.1.6-无法通过WebServiceTemplate获得SOAP响应(但响应已打印在日志中)

时间:2019-08-06 07:17:15

标签: spring soap webservicetemplate

我有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,但所有字段均为空。

0 个答案:

没有答案