Browse Source

亿道接口对接开发DEMO

zhouy 3 years ago
parent
commit
21a3b4381d

+ 5 - 0
pom.xml

@@ -69,6 +69,11 @@
 			<artifactId>fastjson</artifactId>
 			<version>1.2.15</version>
 		</dependency>
+		<dependency>
+			<groupId>axis</groupId>
+			<artifactId>axis</artifactId>
+			<version>1.4</version>
+		</dependency>
 		
 		<dependency>
 		    <groupId>io.jsonwebtoken</groupId>

+ 191 - 0
src/main/java/com/uas/eis/sdk/dto/SubPickmtrlReq.java

@@ -0,0 +1,191 @@
+package com.uas.eis.sdk.dto;
+
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author: zhouy
+ * @date: 2021/10/15 16:56
+ * @desc: 领料单请求
+ */
+public class SubPickmtrlReq implements Serializable {
+    private static final long serialVersionUID = -5809782578272943999L;
+
+    private String SUPPLIERNO;
+
+    List<SubPickmtrlENTRY> ENTRY;
+
+    public String getSUPPLIERNO() {
+        return SUPPLIERNO;
+    }
+
+    public void setSUPPLIERNO(String SUPPLIERNO) {
+        this.SUPPLIERNO = SUPPLIERNO;
+    }
+
+    public List<SubPickmtrlENTRY> getENTRY() {
+        return ENTRY;
+    }
+
+    public void setENTRY(List<SubPickmtrlENTRY> ENTRY) {
+        this.ENTRY = ENTRY;
+    }
+
+    public static class SubPickmtrlENTRY {
+        private String ENTRY_FNUMBER;
+        private String ENTRY_Unitno;
+        private Integer ENTRY_FActualQty;
+        private String ENTRY_StockNO;
+        private String ENTRY_ParentNO;
+        private Long ENTRY_FSrcInterId;
+        private Long ENTRY_FSrcEntryId;
+        private Long ENTRY_FSubReqId;
+        private Long ENTRY_FSRCBIZENTRYID;
+        private Long ENTRY_FSubReqEntryId;
+        private String ENTRY_FPPbomBillNo;
+        private Integer ENTRY_FPOOrderSeq;
+        private Integer ENTRY_FSubReqEntrySeq;
+        private String ENTRY_FSUBREQBILLNO;
+        private Integer ENTRY_FSRCENTRYSEQ;
+        private String ENTRY_FPOOrderBillNo;
+
+        public String getENTRY_FNUMBER() {
+            return ENTRY_FNUMBER;
+        }
+
+        public void setENTRY_FNUMBER(String ENTRY_FNUMBER) {
+            this.ENTRY_FNUMBER = ENTRY_FNUMBER;
+        }
+        public String getENTRY_Unitno() {
+            return ENTRY_Unitno;
+        }
+
+        public void setENTRY_Unitno(String ENTRY_Unitno) {
+            this.ENTRY_Unitno = ENTRY_Unitno;
+        }
+
+        public Integer getENTRY_FActualQty() {
+            return ENTRY_FActualQty;
+        }
+
+        public void setENTRY_FActualQty(Integer ENTRY_FActualQty) {
+            this.ENTRY_FActualQty = ENTRY_FActualQty;
+        }
+
+        public String getENTRY_StockNO() {
+            return ENTRY_StockNO;
+        }
+
+        public void setENTRY_StockNO(String ENTRY_StockNO) {
+            this.ENTRY_StockNO = ENTRY_StockNO;
+        }
+
+        public String getENTRY_ParentNO() {
+            return ENTRY_ParentNO;
+        }
+
+        public void setENTRY_ParentNO(String ENTRY_ParentNO) {
+            this.ENTRY_ParentNO = ENTRY_ParentNO;
+        }
+
+        public Long getENTRY_FSrcInterId() {
+            return ENTRY_FSrcInterId;
+        }
+
+        public void setENTRY_FSrcInterId(Long ENTRY_FSrcInterId) {
+            this.ENTRY_FSrcInterId = ENTRY_FSrcInterId;
+        }
+
+        public Long getENTRY_FSrcEntryId() {
+            return ENTRY_FSrcEntryId;
+        }
+
+        public void setENTRY_FSrcEntryId(Long ENTRY_FSrcEntryId) {
+            this.ENTRY_FSrcEntryId = ENTRY_FSrcEntryId;
+        }
+
+        public Long getENTRY_FSubReqId() {
+            return ENTRY_FSubReqId;
+        }
+
+        public void setENTRY_FSubReqId(Long ENTRY_FSubReqId) {
+            this.ENTRY_FSubReqId = ENTRY_FSubReqId;
+        }
+
+        public Long getENTRY_FSRCBIZENTRYID() {
+            return ENTRY_FSRCBIZENTRYID;
+        }
+
+        public void setENTRY_FSRCBIZENTRYID(Long ENTRY_FSRCBIZENTRYID) {
+            this.ENTRY_FSRCBIZENTRYID = ENTRY_FSRCBIZENTRYID;
+        }
+
+        public Long getENTRY_FSubReqEntryId() {
+            return ENTRY_FSubReqEntryId;
+        }
+
+        public void setENTRY_FSubReqEntryId(Long ENTRY_FSubReqEntryId) {
+            this.ENTRY_FSubReqEntryId = ENTRY_FSubReqEntryId;
+        }
+
+        public String getENTRY_FPPbomBillNo() {
+            return ENTRY_FPPbomBillNo;
+        }
+
+        public void setENTRY_FPPbomBillNo(String ENTRY_FPPbomBillNo) {
+            this.ENTRY_FPPbomBillNo = ENTRY_FPPbomBillNo;
+        }
+
+        public Integer getENTRY_FPOOrderSeq() {
+            return ENTRY_FPOOrderSeq;
+        }
+
+        public void setENTRY_FPOOrderSeq(Integer ENTRY_FPOOrderSeq) {
+            this.ENTRY_FPOOrderSeq = ENTRY_FPOOrderSeq;
+        }
+
+        public Integer getENTRY_FSubReqEntrySeq() {
+            return ENTRY_FSubReqEntrySeq;
+        }
+
+        public void setENTRY_FSubReqEntrySeq(Integer ENTRY_FSubReqEntrySeq) {
+            this.ENTRY_FSubReqEntrySeq = ENTRY_FSubReqEntrySeq;
+        }
+
+        public String getENTRY_FSUBREQBILLNO() {
+            return ENTRY_FSUBREQBILLNO;
+        }
+
+        public void setENTRY_FSUBREQBILLNO(String ENTRY_FSUBREQBILLNO) {
+            this.ENTRY_FSUBREQBILLNO = ENTRY_FSUBREQBILLNO;
+        }
+
+        public Integer getENTRY_FSRCENTRYSEQ() {
+            return ENTRY_FSRCENTRYSEQ;
+        }
+
+        public void setENTRY_FSRCENTRYSEQ(Integer ENTRY_FSRCENTRYSEQ) {
+            this.ENTRY_FSRCENTRYSEQ = ENTRY_FSRCENTRYSEQ;
+        }
+
+        public String getENTRY_FPOOrderBillNo() {
+            return ENTRY_FPOOrderBillNo;
+        }
+
+        public void setENTRY_FPOOrderBillNo(String ENTRY_FPOOrderBillNo) {
+            this.ENTRY_FPOOrderBillNo = ENTRY_FPOOrderBillNo;
+        }
+    }
+
+    public String toJSONString(){
+        JSONObject o = new JSONObject();
+        o.put("SUPPLIERNO", SUPPLIERNO);
+        o.put("ENTRY", JSONArray.fromObject(ENTRY).toString());
+        System.out.println("!!!!!!!!!!!!!!!!!!!!!!!");
+        System.out.println(o.toString());
+        return o.toString();
+    }
+}

+ 107 - 0
src/main/java/com/uas/eis/sdk/webservice/SoapUtil.java

@@ -0,0 +1,107 @@
+package com.uas.eis.sdk.webservice;
+
+import com.uas.eis.sdk.dto.SubPickmtrlReq;
+import net.sf.json.JSONObject;
+import org.apache.axis.client.Call;
+import org.apache.axis.client.Service;
+import org.apache.axis.encoding.XMLType;
+import org.apache.axis.message.SOAPHeaderElement;
+import org.apache.axis.soap.SOAPConstants;
+
+import javax.xml.namespace.QName;
+import javax.xml.rpc.ParameterMode;
+import javax.xml.soap.SOAPElement;
+import javax.xml.soap.SOAPException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author: zhouy
+ * @date: 2021/10/15 14:46
+ * @desc: WebService 请求工具类
+ * POST /MES/mes_k3.asmx HTTP/1.1
+ * Host: 183.62.131.97
+ * Content-Type: text/xml; charset=utf-8
+ * Content-Length: length
+ * SOAPAction: "http://tempuri.org/MES_K3"
+ *
+ */
+public class SoapUtil {
+
+    public static void main(String[] args) throws IOException {
+        callWebserviceASMX();
+    }
+    public static void callWebserviceASMX() throws IOException {
+        //获取webservice接口地址
+        String url = "http://183.62.131.97:9880/MES/mes_k3.asmx";
+        //获取域名地址,server定义的,一般默认是http://tempuri.org/,如果不对,找对方索要
+        String soapaction = "http://tempuri.org/";
+        String method = "MES_K3";
+        Service service = new Service();
+        String result = "";
+        try {
+            Call call = (Call) service.createCall();
+            call.setTargetEndpointAddress(url);
+            call.addHeader(initSOAPHeaderElement());
+            //设置要调用的方法
+            call.setOperationName(new QName(soapaction, method));
+            call.addParameter(new QName(soapaction, "type"), XMLType.XSD_STRING, ParameterMode.IN);
+            call.addParameter(new QName(soapaction, "data"), XMLType.XSD_ENTITY, ParameterMode.IN);
+            call.setEncodingStyle(null);
+            //设置要返回的数据类型(标准的类型)
+            call.setReturnType(XMLType.XSD_STRING);
+            call.setUseSOAPAction(true);
+            call.setSOAPVersion(SOAPConstants.SOAP12_CONSTANTS);
+            call.setSOAPActionURI(soapaction + method);
+            call.setEncodingStyle("GB2312");
+            //调用方法并传递参数
+            String type = "SUB_PICKMTRL";
+            SubPickmtrlReq req = new SubPickmtrlReq();
+            req.setSUPPLIERNO("D.02.008");
+            List<SubPickmtrlReq.SubPickmtrlENTRY> entryList = new ArrayList<SubPickmtrlReq.SubPickmtrlENTRY>();
+            SubPickmtrlReq.SubPickmtrlENTRY entry = new SubPickmtrlReq.SubPickmtrlENTRY();
+            entry.setENTRY_FNUMBER("01.EC0.3R3C201H10A");
+            entry.setENTRY_Unitno("Pcs");
+            entry.setENTRY_FActualQty(30);
+            entry.setENTRY_StockNO("20.01");
+            entry.setENTRY_ParentNO("02.PMA.D1C8192B003");
+            entry.setENTRY_FSrcInterId((long)147784);
+            entry.setENTRY_FSrcInterId((long)147784);
+            entry.setENTRY_FSrcEntryId((long)4860434);
+            entry.setENTRY_FSubReqId((long)127323) ;
+            entry.setENTRY_FSRCBIZENTRYID((long)138737) ;
+            entry.setENTRY_FSubReqEntryId((long)138737) ;
+            entry.setENTRY_FPPbomBillNo("SUBBOM00035139");
+            entry.setENTRY_FPOOrderBillNo("P202109160004");
+            entry.setENTRY_FPOOrderSeq(2);
+            entry.setENTRY_FSubReqEntrySeq(1);
+            entry.setENTRY_FSUBREQBILLNO("W20210916023");
+            entry.setENTRY_FSRCENTRYSEQ(1);
+            entryList.add(entry);
+            req.setENTRY(entryList);
+            System.out.println(req.toJSONString());
+           System.out.println( call.invoke(new Object[]{type, req.toJSONString()}));
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    private static SOAPHeaderElement initSOAPHeaderElement(){
+        SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(new QName("http://tempuri.org/","UserValidationSoapHeader"));
+        try {
+           SOAPElement element = soapHeaderElement.addChildElement("UserName");
+            element.addTextNode("YR_MES");
+            element = soapHeaderElement.addChildElement("Password");
+            element.addTextNode("YR_MES!#%123");
+            return soapHeaderElement;
+
+        } catch (SOAPException e) {
+
+            e.printStackTrace();
+        }
+        return null;
+
+    }
+}