From 11806f176873ad969294d973209aeeffe6f69194 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 10 四月 2025 08:25:58 +0800 Subject: [PATCH] 测试接口 --- src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java | 1 + src/main/java/com/gs/xiaomi/service/SoapApiService.java | 7 ++++++- src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java b/src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java index ee2288f..139c712 100644 --- a/src/main/java/com/gs/xiaomi/config/DataAcquisitionConfiguration.java +++ b/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(); diff --git a/src/main/java/com/gs/xiaomi/service/SoapApiService.java b/src/main/java/com/gs/xiaomi/service/SoapApiService.java index 549ed35..3805c3e 100644 --- a/src/main/java/com/gs/xiaomi/service/SoapApiService.java +++ b/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") diff --git a/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java b/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java index 43af6d3..d076858 100644 --- a/src/test/java/com/gs/xiaomi/XiaomiApplicationTests.java +++ b/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/>" + -- Gitblit v1.9.3