From dfca73284ec549bf83a2c7d59b37cdcdb44800e0 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期五, 24 十月 2025 13:05:22 +0800
Subject: [PATCH] 111
---
src/main/java/com/gs/xiaomi/service/SoapApiService.java | 27 +++++++++++++++++++++------
1 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/gs/xiaomi/service/SoapApiService.java b/src/main/java/com/gs/xiaomi/service/SoapApiService.java
index f7285ef..031828e 100644
--- a/src/main/java/com/gs/xiaomi/service/SoapApiService.java
+++ b/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) {
--
Gitblit v1.9.3