| | |
| | | |
| | | 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); |
| | |
| | | } |
| | | |
| | | 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) { |