zoukankan      html  css  js  c++  java
  • CXF 教程 (二)

    将 Service 布署在远端


    1 Overview

    2 Server

    3 Client


    1 Overview

    上例中我们的 Server 和 Client 都是在本地。下面演示如果布署在远端需如何修改。

    2 Server

    因为在启动 Server 时指定了地址,所以需进行如下修改,启动 Server 时使用参数指定地址

    HelloServer.java

    public class HelloServer {
    
    	public static void main(String[] args) {
    		// Create our service implementation
    		HelloService helloWorldImpl = new HelloServiceImpl();
    		String defaultUrl = "http://localhost:9000/Hello";
    		String url = defaultUrl;
    		
            if (args.length > 0) {
    			url = args[0];
    		}
    
    		// Create our Server
    		ServerFactoryBean svrFactory = new ServerFactoryBean();
    		svrFactory.setServiceClass(HelloService.class);
            svrFactory.setAddress(url);
    		svrFactory.setServiceBean(helloWorldImpl);
    		svrFactory.create();
    	}
    }
    

    值得注意的是,我在 server 上使用 localhost 或 127.0.0.1 后,在浏览器中并不能使用真实的 IP 地址进行访问!

    小技巧:将测试程序复制到远程测试时,可以用如下命令导出所有依赖包。

    mvn clean package dependency:copy-dependencies -DoutputDirectory=target/lib 

    3 Client

    如果是象上例在代码中指定 URL 地址的话,只需要把 URL 改成实际 IP 地址即可

    String wsdlUrl = "http://[ip_address]:[port]/Hello?wsdl";
    URL wsdlURL = new URL(wsdlUrl);
    

    但如果是使用的 WSDL,则需修改 WSDL 文件中的如下部分:

    <wsdl:service name="HelloService">
    	<wsdl:port binding="tns:HelloServiceSoapBinding" name="HelloServicePort">
    		<soap:address location="http://[ip_address]:[port]/Hello" />
    	</wsdl:port>
    </wsdl:service>
    
    

     

  • 相关阅读:
    算法总结7—多维缩放
    算法总结3—神经网络
    算法总结9—优化
    算法总结8—非负矩阵因式分解
    R语言系列—区间估计
    算法总结2—决策树分类器
    算法总结5&6k最近邻与聚类
    统计,逻辑与智能
    算法总结4—支持向量机
    R语言系列—回归分析
  • 原文地址:https://www.cnblogs.com/lldwolf/p/7738315.html
Copyright © 2011-2022 走看看