esb 9 роки тому
батько
коміт
b500984ac3

+ 6 - 6
Hos-Resource-WS/Hos-Resource-WS.iml

@ -114,6 +114,12 @@
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:woodstox-core-asl:4.3.0" level="project" />
    <orderEntry type="library" name="Maven: org.codehaus.woodstox:stax2-api:3.1.4" level="project" />
    <orderEntry type="library" name="Maven: org.apache.ws.xmlschema:xmlschema-core:2.1.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-soap:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-wsdl:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: wsdl4j:wsdl4j:1.6.3" level="project" />
@ -122,11 +128,5 @@
    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.2.7" level="project" />
    <orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:2.16" level="project" />
    <orderEntry type="library" name="Maven: com.sun.xml.fastinfoset:FastInfoset:1.2.12" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-bindings-xml:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-frontend-simple:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-addr:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-ws-policy:3.0.0" level="project" />
    <orderEntry type="library" name="Maven: org.apache.neethi:neethi:3.0.3" level="project" />
    <orderEntry type="library" name="Maven: org.apache.cxf:cxf-rt-transports-http:3.0.0" level="project" />
  </component>
</module>

+ 7 - 1
Hos-Resource-WS/pom.xml

@ -7,7 +7,7 @@
    <groupId>ehr</groupId>
    <artifactId>Hos-Resource-WS</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
    <properties>
        <aspectj.version>1.8.7</aspectj.version>
        <jackson.version>2.4.6</jackson.version>
@ -313,6 +313,12 @@
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-bindings-soap</artifactId>
            <version>3.0.0</version>
        </dependency>
        <!--=============httpclient end=============-->
    </dependencies>

+ 16 - 11
Hos-Resource-WS/src/main/java/com.yihu.ehr/common/ApplicationStart.java

@ -28,8 +28,8 @@ public class ApplicationStart implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent context) {
        try {
            String home = System.getProperty("catalina.home").replace('\\','/');
            String homeUrl = home.substring(0,home.lastIndexOf('/')+1);
            String home = System.getProperty("catalina.home").replace('\\', '/');
            String homeUrl = home.substring(0, home.lastIndexOf('/') + 1);
            dbConfig(homeUrl);
            sslConfig(homeUrl);
@ -41,33 +41,35 @@ public class ApplicationStart implements ServletContextListener {
    /**
     * 修改微服务连接ssl文件
     *
     * @param homeUrl
     */
    private void sslConfig(String homeUrl) throws Exception {
        InputStream in = this.getClass().getResourceAsStream("/config/http.properties");
        prop.load(in);
        String configPath = this.getClass().getClassLoader().getResource("/").getPath()+ "config/http.properties";
        String configPath = this.getClass().getClassLoader().getResource("/").getPath() + "config/http.properties";
        OutputStream fos = new FileOutputStream(configPath);
        String url = homeUrl+"ssl/tomcat.keystore";
        prop.setProperty("sslKeystore",url);
        prop.store(fos,"last update");
        String url = homeUrl + "ssl/tomcat.keystore";
        prop.setProperty("sslKeystore", url);
        prop.store(fos, "last update");
        in.close();
        fos.close();
    }
    /**
     * 修改数据库连接字符串
     *
     * @param homeUrl
     */
    private void dbConfig(String homeUrl) throws Exception {
        InputStream in = this.getClass().getResourceAsStream("/config/dbhelper.properties");
        prop.load(in);
        String configPath = this.getClass().getClassLoader().getResource("/").getPath()+ "config/dbhelper.properties";
        String configPath = this.getClass().getClassLoader().getResource("/").getPath() + "config/dbhelper.properties";
        OutputStream fos = new FileOutputStream(configPath);
        String url = homeUrl+"db/localDB.db";
        prop.setProperty("defaultName","miniResourceDB");
        prop.setProperty("defaultUri","jdbc:sqlite://"+url);
        prop.store(fos,"last update");
        String url = homeUrl + "db/localDB.db";
        prop.setProperty("defaultName", "miniResourceDB");
        prop.setProperty("defaultUri", "jdbc:sqlite://" + url);
        prop.store(fos, "last update");
        in.close();
        fos.close();
    }
@ -78,4 +80,7 @@ public class ApplicationStart implements ServletContextListener {
    }
    public static void main(String[] args) {
        System.out.println(520 / 3);
    }
}

+ 10 - 0
Hos-Resource-WS/src/main/java/com.yihu.ehr/util/operator/TreeNode.java

@ -1,5 +1,13 @@
package com.yihu.ehr.util.operator;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.xerces.xni.QName;
/**
 * 树类
 *
@ -50,4 +58,6 @@ public class TreeNode {
    public void setIschecked(Boolean ischecked) {
        this.ischecked = ischecked;
    }
}

+ 20 - 5
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/SQLWebService.java

@ -4,9 +4,10 @@ import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.model.DataSource;
import com.yihu.ehr.ws.inf.ISQLWebService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.dbcp2.BasicDataSource;
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import javax.jws.WebService;
@ -14,7 +15,7 @@ import javax.jws.WebService;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService(endpointInterface = "com.yihu.ehr.ws.inf.ISQLWebService", serviceName = "testWS")
@WebService(endpointInterface = "com.yihu.ehr.ws.inf.ISQLWebService", targetNamespace = "com.yihu.ehr.ws.inf")
public class SQLWebService implements ISQLWebService {
    public static JdbcTemplate jdbcTemplate = null;
@ -74,9 +75,9 @@ public class SQLWebService implements ISQLWebService {
            XMLSerializer xmlSerializer = new XMLSerializer();
            xmlSerializer.setRootName("req");
            xmlSerializer.setElementName("data");
           xmlSerializer.setTypeHintsEnabled(false);//设置data class="object"  没有class
           // xmlSerializer.setForceTopLevelObject(false);
           // xmlSerializer.setRemoveNamespacePrefixFromElements(false);
            xmlSerializer.setTypeHintsEnabled(false);//设置data class="object"  没有class
            // xmlSerializer.setForceTopLevelObject(false);
            // xmlSerializer.setRemoveNamespacePrefixFromElements(false);
            String xml = xmlSerializer.write(jo);
            return xml;
        } catch (Exception e1) {
@ -85,4 +86,18 @@ public class SQLWebService implements ISQLWebService {
        }
    }
    public static void main(String[] args) throws Exception {
        JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
        Client client = factory.createClient("http://localhost:8080/service/sql?wsdl");
        try {
            Object[] result = client.invoke("excuteSQL", "select * from stde_adapter_metadata"); // 按照方法的参数来提供值
            if (result != null && result.length > 0) {
                System.out.println(result[0]); // 通过getUsername来获取对象的username属性
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

+ 2 - 2
Hos-Resource-WS/src/main/java/com.yihu.ehr/ws/inf/ISQLWebService.java

@ -7,8 +7,8 @@ import javax.jws.WebService;
/**
 * Created by Administrator on 2016/5/19.
 */
@WebService
@WebService(targetNamespace = "com.yihu.ehr.ws.inf")
public interface ISQLWebService {
    @WebMethod
    @WebMethod(operationName = "excuteSQL")
    public String excuteSQL(@WebParam(name = "sql") String sql);
}

+ 9 - 9
Hos-Resource-WS/src/main/resources/spring/spring-cxf.xml

@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
       xsi:schemaLocation="
 http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans.xsd 
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
 ">
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
    <jaxws:endpoint id="/sqlService" implementor="com.yihu.ehr.ws.SQLWebService" address="/sql"/>
	<import resource="classpath:META-INF/cxf/cxf.xml"/>
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
	<jaxws:endpoint id="/testWebService"
		implementor="com.yihu.ehr.ws.SQLWebService"
		address="/testWS" />
		
</beans>