diff --git a/src/main/java/com/xydl/cac/adapter/BusiAdapter.java b/src/main/java/com/xydl/cac/adapter/BusiAdapter.java index af4a273..2654af2 100644 --- a/src/main/java/com/xydl/cac/adapter/BusiAdapter.java +++ b/src/main/java/com/xydl/cac/adapter/BusiAdapter.java @@ -1,5 +1,7 @@ package com.xydl.cac.adapter; +import com.xydl.cac.adapter.busiclient.XydlService; +import com.xydl.cac.adapter.busiclient.XydlServiceImplServiceLocator; import com.xydl.cac.entity.I2syncField; import com.xydl.cac.entity.I2syncRecord; import com.xydl.cac.entity.NSensor; @@ -7,6 +9,7 @@ import com.xydl.cac.model.i2sync.Request; import com.xydl.cac.transform.I2DataTransformer; import com.xydl.cac.util.JSONUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.annotation.Resource; @@ -17,6 +20,8 @@ import java.util.Map; @Slf4j public class BusiAdapter { + @Value("${cac.busi-url}") + private String url; @Resource I2DataTransformer dataTransformer; @@ -25,8 +30,14 @@ public class BusiAdapter { // 格式转换 Request request = dataTransformer.transform(sensor, record, fieldList, dataList); - // 同步和导出 + // 转换结构 String xml = JSONUtil.object2Xml(request); + // 同步和导出 + XydlServiceImplServiceLocator locator = new XydlServiceImplServiceLocator(); + locator.setXydlServiceImplPortEndpointAddress(url); + XydlService service = locator.getXydlServiceImplPort(); + String resp = service.uploadCACData(xml); + log.info("uploadData 完成. " + resp); } } diff --git a/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.java b/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.java new file mode 100644 index 0000000..2143f0b --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.java @@ -0,0 +1,12 @@ +/** + * XydlService.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.xydl.cac.adapter.busiclient; + +public interface XydlService extends java.rmi.Remote { + public java.lang.String uploadCACData(java.lang.String arg0) throws java.rmi.RemoteException; +} diff --git a/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.wsdl b/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.wsdl new file mode 100644 index 0000000..7b1b721 --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/busiclient/XydlService.wsdl @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplService.java b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplService.java new file mode 100644 index 0000000..dfe062f --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplService.java @@ -0,0 +1,16 @@ +/** + * XydlServiceImplService.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.xydl.cac.adapter.busiclient; + +public interface XydlServiceImplService extends javax.xml.rpc.Service { + public java.lang.String getXydlServiceImplPortAddress(); + + public com.xydl.cac.adapter.busiclient.XydlService getXydlServiceImplPort() throws javax.xml.rpc.ServiceException; + + public com.xydl.cac.adapter.busiclient.XydlService getXydlServiceImplPort(java.net.URL portAddress) throws javax.xml.rpc.ServiceException; +} diff --git a/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceLocator.java b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceLocator.java new file mode 100644 index 0000000..c657c01 --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceLocator.java @@ -0,0 +1,142 @@ +/** + * XydlServiceImplServiceLocator.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.xydl.cac.adapter.busiclient; + +public class XydlServiceImplServiceLocator extends org.apache.axis.client.Service implements com.xydl.cac.adapter.busiclient.XydlServiceImplService { + + public XydlServiceImplServiceLocator() { + } + + + public XydlServiceImplServiceLocator(org.apache.axis.EngineConfiguration config) { + super(config); + } + + public XydlServiceImplServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException { + super(wsdlLoc, sName); + } + + // Use to get a proxy class for XydlServiceImplPort + private java.lang.String XydlServiceImplPort_address = "http://192.168.1.190:8080/busi-back-ws/service/XydlService"; + + public java.lang.String getXydlServiceImplPortAddress() { + return XydlServiceImplPort_address; + } + + // The WSDD service name defaults to the port name. + private java.lang.String XydlServiceImplPortWSDDServiceName = "XydlServiceImplPort"; + + public java.lang.String getXydlServiceImplPortWSDDServiceName() { + return XydlServiceImplPortWSDDServiceName; + } + + public void setXydlServiceImplPortWSDDServiceName(java.lang.String name) { + XydlServiceImplPortWSDDServiceName = name; + } + + public com.xydl.cac.adapter.busiclient.XydlService getXydlServiceImplPort() throws javax.xml.rpc.ServiceException { + java.net.URL endpoint; + try { + endpoint = new java.net.URL(XydlServiceImplPort_address); + } + catch (java.net.MalformedURLException e) { + throw new javax.xml.rpc.ServiceException(e); + } + return getXydlServiceImplPort(endpoint); + } + + public com.xydl.cac.adapter.busiclient.XydlService getXydlServiceImplPort(java.net.URL portAddress) throws javax.xml.rpc.ServiceException { + try { + com.xydl.cac.adapter.busiclient.XydlServiceImplServiceSoapBindingStub _stub = new com.xydl.cac.adapter.busiclient.XydlServiceImplServiceSoapBindingStub(portAddress, this); + _stub.setPortName(getXydlServiceImplPortWSDDServiceName()); + return _stub; + } + catch (org.apache.axis.AxisFault e) { + return null; + } + } + + public void setXydlServiceImplPortEndpointAddress(java.lang.String address) { + XydlServiceImplPort_address = address; + } + + /** + * For the given interface, get the stub implementation. + * If this service has no port for the given interface, + * then ServiceException is thrown. + */ + public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { + try { + if (com.xydl.cac.adapter.busiclient.XydlService.class.isAssignableFrom(serviceEndpointInterface)) { + com.xydl.cac.adapter.busiclient.XydlServiceImplServiceSoapBindingStub _stub = new com.xydl.cac.adapter.busiclient.XydlServiceImplServiceSoapBindingStub(new java.net.URL(XydlServiceImplPort_address), this); + _stub.setPortName(getXydlServiceImplPortWSDDServiceName()); + return _stub; + } + } + catch (java.lang.Throwable t) { + throw new javax.xml.rpc.ServiceException(t); + } + throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName())); + } + + /** + * For the given interface, get the stub implementation. + * If this service has no port for the given interface, + * then ServiceException is thrown. + */ + public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException { + if (portName == null) { + return getPort(serviceEndpointInterface); + } + java.lang.String inputPortName = portName.getLocalPart(); + if ("XydlServiceImplPort".equals(inputPortName)) { + return getXydlServiceImplPort(); + } + else { + java.rmi.Remote _stub = getPort(serviceEndpointInterface); + ((org.apache.axis.client.Stub) _stub).setPortName(portName); + return _stub; + } + } + + public javax.xml.namespace.QName getServiceName() { + return new javax.xml.namespace.QName("http://ws.busi.huatek.com/", "XydlServiceImplService"); + } + + private java.util.HashSet ports = null; + + public java.util.Iterator getPorts() { + if (ports == null) { + ports = new java.util.HashSet(); + ports.add(new javax.xml.namespace.QName("http://ws.busi.huatek.com/", "XydlServiceImplPort")); + } + return ports.iterator(); + } + + /** + * Set the endpoint address for the specified port name. + */ + public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException { + +if ("XydlServiceImplPort".equals(portName)) { + setXydlServiceImplPortEndpointAddress(address); + } + else +{ // Unknown Port Name + throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName); + } + } + + /** + * Set the endpoint address for the specified port name. + */ + public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException { + setEndpointAddress(portName.getLocalPart(), address); + } + +} diff --git a/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceSoapBindingStub.java b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceSoapBindingStub.java new file mode 100644 index 0000000..2533050 --- /dev/null +++ b/src/main/java/com/xydl/cac/adapter/busiclient/XydlServiceImplServiceSoapBindingStub.java @@ -0,0 +1,125 @@ +/** + * XydlServiceImplServiceSoapBindingStub.java + * + * This file was auto-generated from WSDL + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. + */ + +package com.xydl.cac.adapter.busiclient; + +public class XydlServiceImplServiceSoapBindingStub extends org.apache.axis.client.Stub implements com.xydl.cac.adapter.busiclient.XydlService { + private java.util.Vector cachedSerClasses = new java.util.Vector(); + private java.util.Vector cachedSerQNames = new java.util.Vector(); + private java.util.Vector cachedSerFactories = new java.util.Vector(); + private java.util.Vector cachedDeserFactories = new java.util.Vector(); + + static org.apache.axis.description.OperationDesc [] _operations; + + static { + _operations = new org.apache.axis.description.OperationDesc[1]; + _initOperationDesc1(); + } + + private static void _initOperationDesc1(){ + org.apache.axis.description.OperationDesc oper; + org.apache.axis.description.ParameterDesc param; + oper = new org.apache.axis.description.OperationDesc(); + oper.setName("uploadCACData"); + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "arg0"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false); + param.setOmittable(true); + oper.addParameter(param); + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string")); + oper.setReturnClass(java.lang.String.class); + oper.setReturnQName(new javax.xml.namespace.QName("", "return")); + oper.setStyle(org.apache.axis.constants.Style.WRAPPED); + oper.setUse(org.apache.axis.constants.Use.LITERAL); + _operations[0] = oper; + + } + + public XydlServiceImplServiceSoapBindingStub() throws org.apache.axis.AxisFault { + this(null); + } + + public XydlServiceImplServiceSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { + this(service); + super.cachedEndpoint = endpointURL; + } + + public XydlServiceImplServiceSoapBindingStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault { + if (service == null) { + super.service = new org.apache.axis.client.Service(); + } else { + super.service = service; + } + ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2"); + } + + protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException { + try { + org.apache.axis.client.Call _call = super._createCall(); + if (super.maintainSessionSet) { + _call.setMaintainSession(super.maintainSession); + } + if (super.cachedUsername != null) { + _call.setUsername(super.cachedUsername); + } + if (super.cachedPassword != null) { + _call.setPassword(super.cachedPassword); + } + if (super.cachedEndpoint != null) { + _call.setTargetEndpointAddress(super.cachedEndpoint); + } + if (super.cachedTimeout != null) { + _call.setTimeout(super.cachedTimeout); + } + if (super.cachedPortName != null) { + _call.setPortName(super.cachedPortName); + } + java.util.Enumeration keys = super.cachedProperties.keys(); + while (keys.hasMoreElements()) { + java.lang.String key = (java.lang.String) keys.nextElement(); + _call.setProperty(key, super.cachedProperties.get(key)); + } + return _call; + } + catch (java.lang.Throwable _t) { + throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t); + } + } + + public java.lang.String uploadCACData(java.lang.String arg0) throws java.rmi.RemoteException { + if (super.cachedEndpoint == null) { + throw new org.apache.axis.NoEndPointException(); + } + org.apache.axis.client.Call _call = createCall(); + _call.setOperation(_operations[0]); + _call.setUseSOAPAction(true); + _call.setSOAPActionURI(""); + _call.setEncodingStyle(null); + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE); + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE); + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS); + _call.setOperationName(new javax.xml.namespace.QName("http://ws.busi.huatek.com/", "uploadCACData")); + + setRequestHeaders(_call); + setAttachments(_call); + try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {arg0}); + + if (_resp instanceof java.rmi.RemoteException) { + throw (java.rmi.RemoteException)_resp; + } + else { + extractAttachments(_call); + try { + return (java.lang.String) _resp; + } catch (java.lang.Exception _exception) { + return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class); + } + } + } catch (org.apache.axis.AxisFault axisFaultException) { + throw axisFaultException; +} + } + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 905d7cc..431c813 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -30,6 +30,7 @@ spring: size: 5 cac: + busi-url: http://192.168.1.190:8080/busi-back-ws/service/XydlService dingding: send: true token: e65e730cba22e320e16926fd4ff19ce787fa2162d065792bb6562c6d4a4cf328 diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml index c2a339e..3820a22 100644 --- a/src/main/resources/application-prod.yml +++ b/src/main/resources/application-prod.yml @@ -30,6 +30,7 @@ spring: size: 5 cac: + busi-url: http://192.168.1.190:8080/busi-back-ws/service/XydlService dingding: send: false token: e65e730cba22e320e16926fd4ff19ce787fa2162d065792bb6562c6d4a4cf328