111
tjx
2025-10-24 dfca73284ec549bf83a2c7d59b37cdcdb44800e0
111
已修改2个文件
29 ■■■■ 文件已修改
src/main/java/com/gs/xiaomi/service/SoapApiService.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gs/xiaomi/service/XM104Service.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/gs/xiaomi/service/SoapApiService.java
@@ -39,8 +39,8 @@
            if (!"Y".equalsIgnoreCase(evCode)) {
                // 从 decodedXml 中提取错误提示信息
                String evMessage = extractEvMessage(decodedXml);
                return SoapApiResponse.fail(evCode, evMessage != null ? evMessage : "SOAP业务处理失败, EV_CODE: " + evCode);
            String evMessage = extractEvMessage(decodedXml);
            return SoapApiResponse.fail(evCode, evMessage != null ? evMessage : "SOAP业务处理失败, EV_CODE: " + evCode);
            }
            String innerXml = extractCdata(decodedXml);
@@ -85,10 +85,25 @@
    }
    private String extractEvMessage(String xml) {
        int start = xml.indexOf("<EV_MESSAGE>");
        int end = xml.indexOf("</EV_MESSAGE>", start);
        if (start == -1 || end == -1) return null;
        return xml.substring(start + 12, end).trim();
        String value = extractTagValue(xml, "ev_message");
        if (value != null) {
            return value;
        }
        return extractTagValue(xml, "EV_MESSAGE");
    }
    private String extractTagValue(String xml, String tagName) {
        if (xml == null || tagName == null) {
            return null;
        }
        String openTag = "<" + tagName + ">";
        String closeTag = "</" + tagName + ">";
        int start = xml.indexOf(openTag);
        int end = xml.indexOf(closeTag, start);
        if (start == -1 || end == -1) {
            return null;
        }
        return xml.substring(start + openTag.length(), end).trim();
    }
    private String decodeXmlEntities(String xml) {
src/main/java/com/gs/xiaomi/service/XM104Service.java
@@ -259,4 +259,4 @@
            return false;
        }
    }
}
}