src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/gs/xiaomi/service/SoapApiService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java
@@ -11,6 +11,7 @@ public static final String USER_NAME = "RFCZJXIAOBU"; public static final String PWD = "ppB9R!He"; public static final String LIFNR = "177301"; public static final String XM104_URL = "https://mipoq.p.mi.com/XISOAPAdapter/MessageServlet?senderParty=&senderService=ZJ_XIAOBU_QAS&receiverParty=&receiverService=&interface=SI_ZFM_WS_API_OUT&interfaceNamespace=http://xiaomi.com/srm/b2b"; public static String getIvPass(String ivCode) { return DigestUtil.md5Hex(ivCode + "/" + IV_USER + "/" + IV_PASSKEY).toUpperCase(); src/main/java/com/gs/xiaomi/service/SoapApiService.java
@@ -1,9 +1,11 @@ package com.gs.xiaomi.service; import com.gs.xiaomi.config.DataAcquisitionConfiguration; import com.gs.xiaomi.dto.BizDocumentResult; import com.gs.xiaomi.dto.ZfmWsApiRequest; import com.gs.xiaomi.util.SoapXmlBuilder; import com.gs.xiaomi.util.X5StringUtils; import okhttp3.*; import org.springframework.stereotype.Service; @@ -45,12 +47,15 @@ MediaType mediaType = MediaType.parse("application/xml"); RequestBody body = RequestBody.create(mediaType, soapXml); String s = DataAcquisitionConfiguration.USER_NAME + DataAcquisitionConfiguration.PWD; String auth = X5StringUtils.encodeBase64(s); Request request = new Request.Builder() .url(url) .method("POST", body) // .addHeader("User-Agent", "Apifox/1.0.0 (https://apifox.com)") .addHeader("Content-Type", "application/xml") .addHeader("Authorization", "Basic ") .addHeader("Authorization", "Basic " + auth) .addHeader("Accept", "*/*") .addHeader("Host", "mipoq.p.mi.com") .addHeader("Connection", "keep-alive") src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java
@@ -5,8 +5,10 @@ import com.gs.xiaomi.dto.BizDocument; import com.gs.xiaomi.dto.BizDocumentResult; import com.gs.xiaomi.dto.ZfmWsApiRequest; import com.gs.xiaomi.service.SoapApiService; import com.gs.xiaomi.util.SoapXmlBuilder; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import javax.xml.bind.JAXBContext; @@ -15,6 +17,9 @@ @SpringBootTest class XiaomiApplicationTests { @Autowired private SoapApiService service; @Test void contextLoads() throws Exception { @@ -33,6 +38,25 @@ } @Test void testService() throws Exception { ZfmWsApiRequest req = new ZfmWsApiRequest(); req.setIvCode(DataAcquisitionConfiguration.IV_CODEXM104); req.setIvEvent(""); req.setIvFlag(""); BizDocument doc = new BizDocument(); doc.setBizDate("2025-04-01"); doc.setLifnr(DataAcquisitionConfiguration.LIFNR); req.setIvInfo(doc); req.setIvPass(DataAcquisitionConfiguration.getIvPass(DataAcquisitionConfiguration.IV_CODEXM104)); req.setIvUser(DataAcquisitionConfiguration.IV_USER); BizDocumentResult bizDocumentResult = service.callAndParse(DataAcquisitionConfiguration.XM104_URL, req); System.out.println(JSON.toJSONString(bizDocumentResult)); } @Test void contextLoads2() throws Exception { String bodyStr = "<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>" + " <SOAP:Header/>" +