From b40cfc1d6bc01ae70883671074b8d26f83fc90d1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 15 八月 2025 18:32:33 +0800
Subject: [PATCH] art: WMS相关接口代码,WebService wsdl2java插件集成

---
 src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java     |   37 +
 src/main/java/org/jeecg/modules/wms/request/WebReservationOrder.java        |   51 ++
 src/main/java/org/jeecg/modules/wms/dto/HelloWorldResponse.java             |   44 ++
 src/main/java/org/jeecg/modules/wms/service/WebServiceSoap.java             |   63 +++
 src/main/resources/wsdl/WebService.asmx.wsdl                                |  227 ++++++++++
 src/main/java/org/jeecg/modules/wms/dto/DeliOrderDeleteResponse.java        |   44 ++
 src/main/java/org/jeecg/modules/wms/WMSWebService.java                      |  114 +++++
 pom.xml                                                                     |   26 +
 /dev/null                                                                   |   13 
 src/main/java/org/jeecg/modules/wms/dto/ReceiveReservationResponse.java     |   40 +
 src/main/java/org/jeecg/modules/wms/ObjectFactory.java                      |  132 ++++++
 src/main/java/org/jeecg/modules/wms/package-info.java                       |    2 
 src/main/java/org/jeecg/modules/wms/request/HelloWorld.java                 |   32 +
 src/main/java/org/jeecg/modules/wms/request/ArrayOfWebServiceSendItem.java  |   71 +++
 src/main/java/org/jeecg/modules/wms/dto/WebServiceSendItem.java             |  107 +++++
 src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java       |   38 +
 src/main/java/org/jeecg/modules/wms/dto/WSResponse.java                     |   35 +
 src/main/java/org/jeecg/modules/wms/request/DeliOrderDelete.java            |   45 ++
 src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java |   41 +
 src/main/java/org/jeecg/modules/wms/request/ReceiveReservation.java         |   42 ++
 20 files changed, 1,162 insertions(+), 42 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7c25535..060cc41 100644
--- a/pom.xml
+++ b/pom.xml
@@ -582,6 +582,32 @@
                     </nonFilteredFileExtensions>
                 </configuration>
             </plugin>
+            <!-- CXF Codegen Plugin锛氭牴鎹� WSDL 鐢熸垚 Java 瀹㈡埛绔唬鐮� -->
+            <plugin>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-codegen-plugin</artifactId>
+                <version>3.5.5</version> <!-- 浣犲彲浠ヤ娇鐢ㄦ渶鏂扮殑绋冲畾鐗堟湰锛屾瘮濡� 3.5.6 / 4.x -->
+                <executions>
+                    <execution>
+                        <id>generate-sources</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>wsdl2java</goal>
+                        </goals>
+                        <configuration>
+                            <!-- 鎸囧畾鐢熸垚鐨� Java 绫� 鏀惧湪鍝釜鐩綍涓嬶紙閫氬父鏄� target/generated-sources/cxf锛� -->
+                            <sourceRoot>${project.basedir}/target/generated-sources/cxf</sourceRoot>
+                            <wsdlOptions>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/main/resources/wsdl/WebService.asmx.wsdl</wsdl>
+                                    <!-- 鎴栬�呯洿鎺ヤ娇鐢� WSDL 鐨勭綉缁滃湴鍧� -->
+                                    <!-- <wsdl>http://10.101.0.182:8002/MesWebService/WebService.asmx?wsdl</wsdl> -->
+                                </wsdlOption>
+                            </wsdlOptions>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <resources>
             <resource>
diff --git a/src/main/java/org/jeecg/modules/wms/CxfClientUtil.java b/src/main/java/org/jeecg/modules/wms/CxfClientUtil.java
deleted file mode 100644
index 484d2c9..0000000
--- a/src/main/java/org/jeecg/modules/wms/CxfClientUtil.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.jeecg.modules.wms;
-
-import com.alibaba.fastjson.JSONObject;
-import org.apache.cxf.endpoint.Client;
-import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
-
-import javax.xml.namespace.QName;
-
-/**
- * @author Lius
- * @date 2024/6/11 10:16
- */
-public class CxfClientUtil {
-
-    /**
-     * 鍔ㄦ�佽皟鐢�
-     */
-    public static String invokeService(String url, String data, String namespace, String method) throws Exception {
-        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
-        Client client = dcf.createClient(url);
-        QName opName = new QName(namespace, method);
-        Object[] objects = new Object[0];
-        try {
-            objects = client.invoke(opName, data);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        String json = JSONObject.toJSONString(objects[0]);
-        return json;
-    }
-
-}
diff --git a/src/main/java/org/jeecg/modules/wms/ObjectFactory.java b/src/main/java/org/jeecg/modules/wms/ObjectFactory.java
new file mode 100644
index 0000000..08c23d0
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/ObjectFactory.java
@@ -0,0 +1,132 @@
+
+package org.jeecg.modules.wms;
+
+import org.jeecg.modules.wms.dto.*;
+import org.jeecg.modules.wms.request.*;
+import org.jeecg.modules.wms.request.WebServiceSendItem;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.tempuri package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.tempuri
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link ReceiveMESScanItemList }
+     * 
+     */
+    public ReceiveMESScanItemList createReceiveMESScanItemList() {
+        return new ReceiveMESScanItemList();
+    }
+
+    /**
+     * Create an instance of {@link ArrayOfWebServiceSendItem }
+     * 
+     */
+    public ArrayOfWebServiceSendItem createArrayOfWebServiceSendItem() {
+        return new ArrayOfWebServiceSendItem();
+    }
+
+    /**
+     * Create an instance of {@link ReceiveMESScanItemListResponse }
+     * 
+     */
+    public ReceiveMESScanItemListResponse createReceiveMESScanItemListResponse() {
+        return new ReceiveMESScanItemListResponse();
+    }
+
+    /**
+     * Create an instance of {@link WSResponse }
+     * 
+     */
+    public WSResponse createWSResponse() {
+        return new WSResponse();
+    }
+
+    /**
+     * Create an instance of {@link DeliOrderDelete }
+     * 
+     */
+    public DeliOrderDelete createDeliOrderDelete() {
+        return new DeliOrderDelete();
+    }
+
+    /**
+     * Create an instance of {@link DeliOrderDeleteResponse }
+     * 
+     */
+    public DeliOrderDeleteResponse createDeliOrderDeleteResponse() {
+        return new DeliOrderDeleteResponse();
+    }
+
+    /**
+     * Create an instance of {@link ReceiveReservation }
+     * 
+     */
+    public ReceiveReservation createReceiveReservation() {
+        return new ReceiveReservation();
+    }
+
+    /**
+     * Create an instance of {@link WebReservationOrder }
+     * 
+     */
+    public WebReservationOrder createWebReservationOrder() {
+        return new WebReservationOrder();
+    }
+
+    /**
+     * Create an instance of {@link ReceiveReservationResponse }
+     * 
+     */
+    public ReceiveReservationResponse createReceiveReservationResponse() {
+        return new ReceiveReservationResponse();
+    }
+
+    /**
+     * Create an instance of {@link HelloWorld }
+     * 
+     */
+    public HelloWorld createHelloWorld() {
+        return new HelloWorld();
+    }
+
+    /**
+     * Create an instance of {@link HelloWorldResponse }
+     * 
+     */
+    public HelloWorldResponse createHelloWorldResponse() {
+        return new HelloWorldResponse();
+    }
+
+    /**
+     * Create an instance of {@link WebServiceSendItem }
+     * 
+     */
+    public WebServiceSendItem createWebServiceSendItem() {
+        return new WebServiceSendItem();
+    }
+
+}
diff --git a/src/main/java/org/jeecg/modules/wms/WMSWebService.java b/src/main/java/org/jeecg/modules/wms/WMSWebService.java
new file mode 100644
index 0000000..b5d19c2
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/WMSWebService.java
@@ -0,0 +1,114 @@
+package org.jeecg.modules.wms;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebEndpoint;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.Service;
+import org.jeecg.modules.wms.service.WebServiceSoap;
+import org.springframework.stereotype.Component;
+
+/**
+ * This class was generated by Apache CXF 3.5.5
+ * 2025-08-15T16:30:13.500+08:00
+ * Generated source version: 3.5.5
+ *
+ */
+@Component
+@WebServiceClient(name = "WebService",
+                  wsdlLocation = "file:/D:/work_2025/lxzn-system-xhj/src/main/resources/wsdl/WebService.asmx.wsdl",
+                  targetNamespace = "http://tempuri.org/")
+public class WMSWebService extends Service {
+
+    public final static URL WSDL_LOCATION;
+
+    public final static QName SERVICE = new QName("http://tempuri.org/", "WebService");
+    public final static QName WebServiceSoap = new QName("http://tempuri.org/", "WebServiceSoap");
+    public final static QName WebServiceSoap12 = new QName("http://tempuri.org/", "WebServiceSoap12");
+    static {
+        URL url = null;
+        try {
+            url = new URL("file:/D:/work_2025/lxzn-system-xhj/src/main/resources/wsdl/WebService.asmx.wsdl");
+        } catch (MalformedURLException e) {
+            java.util.logging.Logger.getLogger(WMSWebService.class.getName())
+                .log(java.util.logging.Level.INFO,
+                     "Can not initialize the default wsdl from {0}", "file:/D:/work_2025/lxzn-system-xhj/src/main/resources/wsdl/WebService.asmx.wsdl");
+        }
+        WSDL_LOCATION = url;
+    }
+
+    public WMSWebService(URL wsdlLocation) {
+        super(wsdlLocation, SERVICE);
+    }
+
+    public WMSWebService(URL wsdlLocation, QName serviceName) {
+        super(wsdlLocation, serviceName);
+    }
+
+    public WMSWebService() {
+        super(WSDL_LOCATION, SERVICE);
+    }
+
+    public WMSWebService(WebServiceFeature ... features) {
+        super(WSDL_LOCATION, SERVICE, features);
+    }
+
+    public WMSWebService(URL wsdlLocation, WebServiceFeature ... features) {
+        super(wsdlLocation, SERVICE, features);
+    }
+
+    public WMSWebService(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
+        super(wsdlLocation, serviceName, features);
+    }
+
+
+
+
+    /**
+     *
+     * @return
+     *     returns WebServiceSoap
+     */
+    @WebEndpoint(name = "WebServiceSoap")
+    public WebServiceSoap getWebServiceSoap() {
+        return super.getPort(WebServiceSoap, WebServiceSoap.class);
+    }
+
+    /**
+     *
+     * @param features
+     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
+     * @return
+     *     returns WebServiceSoap
+     */
+    @WebEndpoint(name = "WebServiceSoap")
+    public WebServiceSoap getWebServiceSoap(WebServiceFeature... features) {
+        return super.getPort(WebServiceSoap, WebServiceSoap.class, features);
+    }
+
+
+    /**
+     *
+     * @return
+     *     returns WebServiceSoap
+     */
+    @WebEndpoint(name = "WebServiceSoap12")
+    public WebServiceSoap getWebServiceSoap12() {
+        return super.getPort(WebServiceSoap12, WebServiceSoap.class);
+    }
+
+    /**
+     *
+     * @param features
+     *     A list of {@link WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
+     * @return
+     *     returns WebServiceSoap
+     */
+    @WebEndpoint(name = "WebServiceSoap12")
+    public WebServiceSoap getWebServiceSoap12(WebServiceFeature... features) {
+        return super.getPort(WebServiceSoap12, WebServiceSoap.class, features);
+    }
+
+}
diff --git a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
index 5aa73af..bdd5ab5 100644
--- a/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
+++ b/src/main/java/org/jeecg/modules/wms/controller/WMSTestController.java
@@ -3,12 +3,18 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.wms.WMSWebService;
 import org.jeecg.modules.wms.dto.ReceiveMESScanItemListResponse;
 import org.jeecg.modules.wms.request.ReceiveMESScanItemList;
 import org.jeecg.modules.wms.service.ReceiveWMSScanItemListService;
-import org.jeecg.modules.wms.service.WMSWebService;
+import org.jeecg.modules.wms.service.WebServiceSoap;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -21,6 +27,9 @@
 public class WMSTestController {
     @Value("${webservice.url}")
     private String url;
+    @Autowired
+    private WMSWebService webService;
+
 
     @ApiOperation(value = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉", notes = "WMS闆嗘垚娴嬭瘯-鎺ユ敹WMS绉诲簱缁撴灉")
     @PostMapping("/testReceiveWMSScanItemList")
@@ -37,11 +46,26 @@
     @ApiOperation(value = "WMS闆嗘垚娴嬭瘯-HelloWord娴嬭瘯", notes = "WMS闆嗘垚娴嬭瘯-HelloWord娴嬭瘯")
     @PostMapping("/testHelloWorld")
     public Result<?> testHelloWorld() {
-        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
-        factory.setAddress(url);
-        factory.setServiceClass(WMSWebService.class);
-        WMSWebService service = (WMSWebService) factory.create();
-        String response = service.helloWorld();
-        return Result.ok(response);
+//        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
+//        factory.setAddress(url);
+//        factory.setServiceClass(WebServiceSoap.class);
+//        WebServiceSoap service = (WebServiceSoap) factory.create();
+//        String response = service.helloWorld();
+//        return Result.ok(response);
+        WebServiceSoap port = webService.getWebServiceSoap();
+        // 2. 鑾峰彇 CXF 搴曞眰 Client 瀵硅薄
+        Client client = ClientProxy.getClient(port);
+
+        // 3. 鑾峰彇 HTTPConduit 骞惰缃秴鏃�
+        HTTPConduit http = (HTTPConduit) client.getConduit();
+        HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
+
+        httpClientPolicy.setConnectionTimeout(10 * 1000); // 杩炴帴瓒呮椂 10 绉�
+        httpClientPolicy.setReceiveTimeout(300 * 1000);   // 璇诲彇瓒呮椂 60 绉掞紙閲嶇偣锛侊級
+
+        http.setClient(httpClientPolicy);
+        String result = port.helloWorld();
+        return Result.ok(result);
+
     }
 }
diff --git a/src/main/java/org/jeecg/modules/wms/dto/DeliOrderDeleteResponse.java b/src/main/java/org/jeecg/modules/wms/dto/DeliOrderDeleteResponse.java
new file mode 100644
index 0000000..aed7d00
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/dto/DeliOrderDeleteResponse.java
@@ -0,0 +1,44 @@
+
+package org.jeecg.modules.wms.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ * 
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ * 
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="DeliOrderDeleteResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+    "deliOrderDeleteResult"
+})
+@XmlRootElement(name = "DeliOrderDeleteResponse")
+@Getter
+@Setter
+public class DeliOrderDeleteResponse {
+
+    @XmlElement(name = "DeliOrderDeleteResult")
+    protected WSResponse deliOrderDeleteResult;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/dto/HelloWorldResponse.java b/src/main/java/org/jeecg/modules/wms/dto/HelloWorldResponse.java
new file mode 100644
index 0000000..c7dc781
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/dto/HelloWorldResponse.java
@@ -0,0 +1,44 @@
+
+package org.jeecg.modules.wms.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="HelloWorldResult" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "helloWorldResult"
+})
+@XmlRootElement(name = "HelloWorldResponse")
+@Getter
+@Setter
+public class HelloWorldResponse {
+
+    @XmlElement(name = "HelloWorldResult")
+    protected String helloWorldResult;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java b/src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java
index 99d4316..5a91a63 100644
--- a/src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java
+++ b/src/main/java/org/jeecg/modules/wms/dto/ReceiveMESScanItemListResponse.java
@@ -1,19 +1,40 @@
+
 package org.jeecg.modules.wms.dto;
 
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.io.Serializable;
+import javax.xml.bind.annotation.*;
 
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReceiveMESScanItemListResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "receiveMESScanItemListResult"
+})
+@XmlRootElement(name = "ReceiveMESScanItemListResponse")
 @Getter
 @Setter
-@XmlRootElement(name = "ReceiveMESScanItemListResponse")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class ReceiveMESScanItemListResponse implements Serializable {
-    @XmlElement(name = "WSResponse")
-    private WSResponse wsResponse;
+public class ReceiveMESScanItemListResponse {
+
+    @XmlElement(name = "ReceiveMESScanItemListResult")
+    protected WSResponse receiveMESScanItemListResult;
 }
diff --git a/src/main/java/org/jeecg/modules/wms/dto/ReceiveReservationResponse.java b/src/main/java/org/jeecg/modules/wms/dto/ReceiveReservationResponse.java
new file mode 100644
index 0000000..1a6c8d1
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/dto/ReceiveReservationResponse.java
@@ -0,0 +1,40 @@
+
+package org.jeecg.modules.wms.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.*;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ReceiveReservationResult" type="{http://tempuri.org/}WSResponse" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "receiveReservationResult"
+})
+@XmlRootElement(name = "ReceiveReservationResponse")
+@Getter
+@Setter
+public class ReceiveReservationResponse {
+
+    @XmlElement(name = "ReceiveReservationResult")
+    protected WSResponse receiveReservationResult;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/dto/WSResponse.java b/src/main/java/org/jeecg/modules/wms/dto/WSResponse.java
index 2c1669a..0d55fcf 100644
--- a/src/main/java/org/jeecg/modules/wms/dto/WSResponse.java
+++ b/src/main/java/org/jeecg/modules/wms/dto/WSResponse.java
@@ -1,3 +1,4 @@
+
 package org.jeecg.modules.wms.dto;
 
 import lombok.Getter;
@@ -6,14 +7,40 @@
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
-import java.io.Serializable;
+import javax.xml.bind.annotation.XmlType;
 
+
+/**
+ * <p>WSResponse complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType name="WSResponse"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="ErrorCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ErrorDesc" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
 @Getter
 @Setter
 @XmlAccessorType(XmlAccessType.FIELD)
-public class WSResponse implements Serializable {
+@XmlType(name = "WSResponse", propOrder = {
+        "errorCode",
+        "errorDesc"
+})
+public class WSResponse {
+
     @XmlElement(name = "ErrorCode")
-    private String errorCode;
+    protected String errorCode;
     @XmlElement(name = "ErrorDesc")
-    private String errorDesc;
+    protected String errorDesc;
 }
diff --git a/src/main/java/org/jeecg/modules/wms/dto/WebServiceSendItem.java b/src/main/java/org/jeecg/modules/wms/dto/WebServiceSendItem.java
new file mode 100644
index 0000000..4db2e35
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/dto/WebServiceSendItem.java
@@ -0,0 +1,107 @@
+
+package org.jeecg.modules.wms.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>WebServiceSendItem complex type鐨� Java 绫汇��
+ * 
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ * 
+ * <pre>
+ * &lt;complexType name="WebServiceSendItem"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="FactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="SkuCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Align" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Pallet" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="PackageNo" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="TrackLot" type="{http://www.w3.org/2001/XMLSchema}long"/&gt;
+ *         &lt;element name="Series" type="{http://www.w3.org/2001/XMLSchema}long"/&gt;
+ *         &lt;element name="MesStockID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Quantity" type="{http://www.w3.org/2001/XMLSchema}decimal"/&gt;
+ *         &lt;element name="SapTrackLot" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Section" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="DestSection" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="SupplierCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="SupplierTrackLot" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="StageID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Remark" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="OrderCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "WebServiceSendItem", propOrder = {
+    "factoryCode",
+    "skuCode",
+    "align",
+    "pallet",
+    "packageNo",
+    "trackLot",
+    "series",
+    "mesStockID",
+    "quantity",
+    "sapTrackLot",
+    "section",
+    "destSection",
+    "supplierCode",
+    "supplierTrackLot",
+    "stageID",
+    "remark",
+    "orderCode"
+})
+@Getter
+@Setter
+public class WebServiceSendItem {
+
+    @XmlElement(name = "FactoryCode")
+    protected String factoryCode;
+    @XmlElement(name = "SkuCode")
+    protected String skuCode;
+    @XmlElement(name = "Align")
+    protected String align;
+    @XmlElement(name = "Pallet")
+    protected String pallet;
+    @XmlElement(name = "PackageNo")
+    protected String packageNo;
+    @XmlElement(name = "TrackLot")
+    protected long trackLot;
+    @XmlElement(name = "Series")
+    protected long series;
+    @XmlElement(name = "MesStockID")
+    protected String mesStockID;
+    @XmlElement(name = "Quantity", required = true)
+    protected BigDecimal quantity;
+    @XmlElement(name = "SapTrackLot")
+    protected String sapTrackLot;
+    @XmlElement(name = "Section")
+    protected String section;
+    @XmlElement(name = "DestSection")
+    protected String destSection;
+    @XmlElement(name = "SupplierCode")
+    protected String supplierCode;
+    @XmlElement(name = "SupplierTrackLot")
+    protected String supplierTrackLot;
+    @XmlElement(name = "StageID")
+    protected String stageID;
+    @XmlElement(name = "Remark")
+    protected String remark;
+    @XmlElement(name = "OrderCode")
+    protected String orderCode;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/package-info.java b/src/main/java/org/jeecg/modules/wms/package-info.java
new file mode 100644
index 0000000..0dfca4b
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://tempuri.org/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jeecg.modules.wms;
diff --git a/src/main/java/org/jeecg/modules/wms/request/ArrayOfWebServiceSendItem.java b/src/main/java/org/jeecg/modules/wms/request/ArrayOfWebServiceSendItem.java
new file mode 100644
index 0000000..1ef4806
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/request/ArrayOfWebServiceSendItem.java
@@ -0,0 +1,71 @@
+
+package org.jeecg.modules.wms.request;
+
+import org.jeecg.modules.wms.dto.WebServiceSendItem;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * <p>ArrayOfWebServiceSendItem complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType name="ArrayOfWebServiceSendItem"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="WebServiceSendItem" type="{http://tempuri.org/}WebServiceSendItem" maxOccurs="unbounded" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ArrayOfWebServiceSendItem", propOrder = {
+        "webServiceSendItem"
+})
+public class ArrayOfWebServiceSendItem {
+
+    @XmlElement(name = "WebServiceSendItem", nillable = true)
+    protected List<org.jeecg.modules.wms.dto.WebServiceSendItem> webServiceSendItem;
+
+    /**
+     * Gets the value of the webServiceSendItem property.
+     *
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the webServiceSendItem property.
+     *
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getWebServiceSendItem().add(newItem);
+     * </pre>
+     *
+     *
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link org.jeecg.modules.wms.dto.WebServiceSendItem }
+     *
+     *
+     */
+    public List<WebServiceSendItem> getWebServiceSendItem() {
+        if (webServiceSendItem == null) {
+            webServiceSendItem = new ArrayList<>();
+        }
+        return this.webServiceSendItem;
+    }
+
+}
diff --git a/src/main/java/org/jeecg/modules/wms/request/DeliOrderDelete.java b/src/main/java/org/jeecg/modules/wms/request/DeliOrderDelete.java
new file mode 100644
index 0000000..d30d35a
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/request/DeliOrderDelete.java
@@ -0,0 +1,45 @@
+
+package org.jeecg.modules.wms.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="sFactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="sStockRecord" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "sFactoryCode",
+        "sStockRecord"
+})
+@XmlRootElement(name = "DeliOrderDelete")
+@Getter
+@Setter
+public class DeliOrderDelete {
+
+    protected String sFactoryCode;
+    protected String sStockRecord;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/request/HelloWorld.java b/src/main/java/org/jeecg/modules/wms/request/HelloWorld.java
new file mode 100644
index 0000000..c7e8e1a
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/request/HelloWorld.java
@@ -0,0 +1,32 @@
+
+package org.jeecg.modules.wms.request;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ * 
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ * 
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "HelloWorld")
+public class HelloWorld {
+
+
+}
diff --git a/src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java b/src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java
index 9bb906b..8977c4b 100644
--- a/src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java
+++ b/src/main/java/org/jeecg/modules/wms/request/ReceiveMESScanItemList.java
@@ -1,19 +1,40 @@
+
 package org.jeecg.modules.wms.request;
 
 import lombok.Getter;
 import lombok.Setter;
 
 import javax.xml.bind.annotation.*;
-import java.io.Serializable;
-import java.util.List;
 
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="oMESScanItemList" type="{http://tempuri.org/}ArrayOfWebServiceSendItem" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "omesScanItemList"
+})
+@XmlRootElement(name = "ReceiveMESScanItemList")
 @Getter
 @Setter
-@XmlRootElement(name = "ReceiveMESScanItemList")
-@XmlAccessorType(XmlAccessType.FIELD)
-public class ReceiveMESScanItemList implements Serializable {
+public class ReceiveMESScanItemList {
 
-    @XmlElementWrapper(name = "ArrayOfWebServiceSendItem")
-    @XmlElement(name = "WebServiceSendItem")
-    private List<WebServiceSendItem> items;
+    @XmlElement(name = "oMESScanItemList")
+    protected ArrayOfWebServiceSendItem omesScanItemList;
 }
diff --git a/src/main/java/org/jeecg/modules/wms/request/ReceiveReservation.java b/src/main/java/org/jeecg/modules/wms/request/ReceiveReservation.java
new file mode 100644
index 0000000..d38ae84
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/request/ReceiveReservation.java
@@ -0,0 +1,42 @@
+
+package org.jeecg.modules.wms.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>anonymous complex type鐨� Java 绫汇��
+ *
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ *
+ * <pre>
+ * &lt;complexType&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="oWebReservationOrder" type="{http://tempuri.org/}WebReservationOrder" minOccurs="0"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+        "oWebReservationOrder"
+})
+@XmlRootElement(name = "ReceiveReservation")
+@Getter
+@Setter
+public class ReceiveReservation {
+
+    protected WebReservationOrder oWebReservationOrder;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/request/WebReservationOrder.java b/src/main/java/org/jeecg/modules/wms/request/WebReservationOrder.java
new file mode 100644
index 0000000..2f962be
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/request/WebReservationOrder.java
@@ -0,0 +1,51 @@
+
+package org.jeecg.modules.wms.request;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+
+/**
+ * <p>WebReservationOrder complex type鐨� Java 绫汇��
+ * 
+ * <p>浠ヤ笅妯″紡鐗囨鎸囧畾鍖呭惈鍦ㄦ绫讳腑鐨勯鏈熷唴瀹广��
+ * 
+ * <pre>
+ * &lt;complexType name="WebReservationOrder"&gt;
+ *   &lt;complexContent&gt;
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
+ *       &lt;sequence&gt;
+ *         &lt;element name="FactoryCode" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="ReservationOrder" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/&gt;
+ *         &lt;element name="Total" type="{http://www.w3.org/2001/XMLSchema}decimal"/&gt;
+ *       &lt;/sequence&gt;
+ *     &lt;/restriction&gt;
+ *   &lt;/complexContent&gt;
+ * &lt;/complexType&gt;
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "WebReservationOrder", propOrder = {
+    "factoryCode",
+    "reservationOrder",
+    "total"
+})
+@Getter
+@Setter
+public class WebReservationOrder {
+
+    @XmlElement(name = "FactoryCode")
+    protected String factoryCode;
+    @XmlElement(name = "ReservationOrder")
+    protected String reservationOrder;
+    @XmlElement(name = "Total", required = true)
+    protected BigDecimal total;
+}
diff --git a/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java b/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java
deleted file mode 100644
index 0d1ee5d..0000000
--- a/src/main/java/org/jeecg/modules/wms/service/WMSWebService.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.jeecg.modules.wms.service;
-
-import javax.jws.WebMethod;
-import javax.jws.WebResult;
-import javax.jws.WebService;
-
-@WebService(name = "WebService", targetNamespace = "http://tempuri.org")
-public interface WMSWebService {
-
-    @WebMethod(operationName = "HelloWorld")
-    @WebResult(name = "HelloWorldResponse")
-    String helloWorld();
-}
diff --git a/src/main/java/org/jeecg/modules/wms/service/WebServiceSoap.java b/src/main/java/org/jeecg/modules/wms/service/WebServiceSoap.java
new file mode 100644
index 0000000..086d418
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/wms/service/WebServiceSoap.java
@@ -0,0 +1,63 @@
+package org.jeecg.modules.wms.service;
+
+import org.jeecg.modules.wms.ObjectFactory;
+import org.jeecg.modules.wms.request.ArrayOfWebServiceSendItem;
+import org.jeecg.modules.wms.dto.WSResponse;
+import org.jeecg.modules.wms.request.WebReservationOrder;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebResult;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.ws.RequestWrapper;
+import javax.xml.ws.ResponseWrapper;
+
+/**
+ * This class was generated by Apache CXF 3.5.5
+ * 2025-08-15T16:30:13.468+08:00
+ * Generated source version: 3.5.5
+ *
+ */
+@WebService(targetNamespace = "http://tempuri.org/", name = "WebServiceSoap")
+@XmlSeeAlso({ObjectFactory.class})
+public interface WebServiceSoap {
+
+    @WebMethod(operationName = "ReceiveReservation", action = "http://tempuri.org/ReceiveReservation")
+    @RequestWrapper(localName = "ReceiveReservation", targetNamespace = "http://tempuri.org/", className = "ReceiveReservation")
+    @ResponseWrapper(localName = "ReceiveReservationResponse", targetNamespace = "http://tempuri.org/", className = "ReceiveReservationResponse")
+    @WebResult(name = "ReceiveReservationResult", targetNamespace = "http://tempuri.org/")
+    WSResponse receiveReservation(
+
+            @WebParam(name = "oWebReservationOrder", targetNamespace = "http://tempuri.org/")
+            WebReservationOrder oWebReservationOrder
+    );
+
+    @WebMethod(operationName = "HelloWorld", action = "http://tempuri.org/HelloWorld")
+    @RequestWrapper(localName = "HelloWorld", targetNamespace = "http://tempuri.org/", className = "HelloWorld")
+    @ResponseWrapper(localName = "HelloWorldResponse", targetNamespace = "http://tempuri.org/", className = "HelloWorldResponse")
+    @WebResult(name = "HelloWorldResult", targetNamespace = "http://tempuri.org/")
+    String helloWorld();
+
+    @WebMethod(operationName = "ReceiveMESScanItemList", action = "http://tempuri.org/ReceiveMESScanItemList")
+    @RequestWrapper(localName = "ReceiveMESScanItemList", targetNamespace = "http://tempuri.org/", className = "ReceiveMESScanItemList")
+    @ResponseWrapper(localName = "ReceiveMESScanItemListResponse", targetNamespace = "http://tempuri.org/", className = "ReceiveMESScanItemListResponse")
+    @WebResult(name = "ReceiveMESScanItemListResult", targetNamespace = "http://tempuri.org/")
+    WSResponse receiveMESScanItemList(
+
+            @WebParam(name = "oMESScanItemList", targetNamespace = "http://tempuri.org/")
+            ArrayOfWebServiceSendItem oMESScanItemList
+    );
+
+    @WebMethod(operationName = "DeliOrderDelete", action = "http://tempuri.org/DeliOrderDelete")
+    @RequestWrapper(localName = "DeliOrderDelete", targetNamespace = "http://tempuri.org/", className = "DeliOrderDelete")
+    @ResponseWrapper(localName = "DeliOrderDeleteResponse", targetNamespace = "http://tempuri.org/", className = "DeliOrderDeleteResponse")
+    @WebResult(name = "DeliOrderDeleteResult", targetNamespace = "http://tempuri.org/")
+    WSResponse deliOrderDelete(
+
+            @WebParam(name = "sFactoryCode", targetNamespace = "http://tempuri.org/")
+            String sFactoryCode,
+            @WebParam(name = "sStockRecord", targetNamespace = "http://tempuri.org/")
+            String sStockRecord
+    );
+}
diff --git a/src/main/resources/wsdl/WebService.asmx.wsdl b/src/main/resources/wsdl/WebService.asmx.wsdl
new file mode 100644
index 0000000..2800121
--- /dev/null
+++ b/src/main/resources/wsdl/WebService.asmx.wsdl
@@ -0,0 +1,227 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:types>
+    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
+      <s:element name="ReceiveMESScanItemList">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="oMESScanItemList" type="tns:ArrayOfWebServiceSendItem" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:complexType name="ArrayOfWebServiceSendItem">
+        <s:sequence>
+          <s:element minOccurs="0" maxOccurs="unbounded" name="WebServiceSendItem" nillable="true" type="tns:WebServiceSendItem" />
+        </s:sequence>
+      </s:complexType>
+      <s:complexType name="WebServiceSendItem">
+        <s:sequence>
+          <s:element minOccurs="0" maxOccurs="1" name="FactoryCode" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="SkuCode" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="Align" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="Pallet" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="PackageNo" type="s:string" />
+          <s:element minOccurs="1" maxOccurs="1" name="TrackLot" type="s:long" />
+          <s:element minOccurs="1" maxOccurs="1" name="Series" type="s:long" />
+          <s:element minOccurs="0" maxOccurs="1" name="MesStockID" type="s:string" />
+          <s:element minOccurs="1" maxOccurs="1" name="Quantity" type="s:decimal" />
+          <s:element minOccurs="0" maxOccurs="1" name="SapTrackLot" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="Section" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="DestSection" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="SupplierCode" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="SupplierTrackLot" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="StageID" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="Remark" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="OrderCode" type="s:string" />
+        </s:sequence>
+      </s:complexType>
+      <s:element name="ReceiveMESScanItemListResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="ReceiveMESScanItemListResult" type="tns:WSResponse" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:complexType name="WSResponse">
+        <s:sequence>
+          <s:element minOccurs="0" maxOccurs="1" name="ErrorCode" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="ErrorDesc" type="s:string" />
+        </s:sequence>
+      </s:complexType>
+      <s:element name="DeliOrderDelete">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="sFactoryCode" type="s:string" />
+            <s:element minOccurs="0" maxOccurs="1" name="sStockRecord" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="DeliOrderDeleteResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="DeliOrderDeleteResult" type="tns:WSResponse" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="ReceiveReservation">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="oWebReservationOrder" type="tns:WebReservationOrder" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:complexType name="WebReservationOrder">
+        <s:sequence>
+          <s:element minOccurs="0" maxOccurs="1" name="FactoryCode" type="s:string" />
+          <s:element minOccurs="0" maxOccurs="1" name="ReservationOrder" type="s:string" />
+          <s:element minOccurs="1" maxOccurs="1" name="Total" type="s:decimal" />
+        </s:sequence>
+      </s:complexType>
+      <s:element name="ReceiveReservationResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="ReceiveReservationResult" type="tns:WSResponse" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+      <s:element name="HelloWorld">
+        <s:complexType />
+      </s:element>
+      <s:element name="HelloWorldResponse">
+        <s:complexType>
+          <s:sequence>
+            <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" />
+          </s:sequence>
+        </s:complexType>
+      </s:element>
+    </s:schema>
+  </wsdl:types>
+  <wsdl:message name="ReceiveMESScanItemListSoapIn">
+    <wsdl:part name="parameters" element="tns:ReceiveMESScanItemList" />
+  </wsdl:message>
+  <wsdl:message name="ReceiveMESScanItemListSoapOut">
+    <wsdl:part name="parameters" element="tns:ReceiveMESScanItemListResponse" />
+  </wsdl:message>
+  <wsdl:message name="DeliOrderDeleteSoapIn">
+    <wsdl:part name="parameters" element="tns:DeliOrderDelete" />
+  </wsdl:message>
+  <wsdl:message name="DeliOrderDeleteSoapOut">
+    <wsdl:part name="parameters" element="tns:DeliOrderDeleteResponse" />
+  </wsdl:message>
+  <wsdl:message name="ReceiveReservationSoapIn">
+    <wsdl:part name="parameters" element="tns:ReceiveReservation" />
+  </wsdl:message>
+  <wsdl:message name="ReceiveReservationSoapOut">
+    <wsdl:part name="parameters" element="tns:ReceiveReservationResponse" />
+  </wsdl:message>
+  <wsdl:message name="HelloWorldSoapIn">
+    <wsdl:part name="parameters" element="tns:HelloWorld" />
+  </wsdl:message>
+  <wsdl:message name="HelloWorldSoapOut">
+    <wsdl:part name="parameters" element="tns:HelloWorldResponse" />
+  </wsdl:message>
+  <wsdl:portType name="WebServiceSoap">
+    <wsdl:operation name="ReceiveMESScanItemList">
+      <wsdl:input message="tns:ReceiveMESScanItemListSoapIn" />
+      <wsdl:output message="tns:ReceiveMESScanItemListSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="DeliOrderDelete">
+      <wsdl:input message="tns:DeliOrderDeleteSoapIn" />
+      <wsdl:output message="tns:DeliOrderDeleteSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="ReceiveReservation">
+      <wsdl:input message="tns:ReceiveReservationSoapIn" />
+      <wsdl:output message="tns:ReceiveReservationSoapOut" />
+    </wsdl:operation>
+    <wsdl:operation name="HelloWorld">
+      <wsdl:input message="tns:HelloWorldSoapIn" />
+      <wsdl:output message="tns:HelloWorldSoapOut" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="WebServiceSoap" type="tns:WebServiceSoap">
+    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="ReceiveMESScanItemList">
+      <soap:operation soapAction="http://tempuri.org/ReceiveMESScanItemList" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="DeliOrderDelete">
+      <soap:operation soapAction="http://tempuri.org/DeliOrderDelete" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ReceiveReservation">
+      <soap:operation soapAction="http://tempuri.org/ReceiveReservation" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="HelloWorld">
+      <soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
+      <wsdl:input>
+        <soap:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="WebServiceSoap12" type="tns:WebServiceSoap">
+    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="ReceiveMESScanItemList">
+      <soap12:operation soapAction="http://tempuri.org/ReceiveMESScanItemList" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="DeliOrderDelete">
+      <soap12:operation soapAction="http://tempuri.org/DeliOrderDelete" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ReceiveReservation">
+      <soap12:operation soapAction="http://tempuri.org/ReceiveReservation" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="HelloWorld">
+      <soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="WebService">
+    <wsdl:port name="WebServiceSoap" binding="tns:WebServiceSoap">
+      <soap:address location="http://10.101.0.182:8002/MesWebService/WebService.asmx" />
+    </wsdl:port>
+    <wsdl:port name="WebServiceSoap12" binding="tns:WebServiceSoap12">
+      <soap12:address location="http://10.101.0.182:8002/MesWebService/WebService.asmx" />
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

--
Gitblit v1.9.3