新足迹

 找回密码
 注册

精华好帖回顾

· 寄宿学生的选择 - 悉尼的寄宿学校种种 (2011-5-4) patrickzhu · 煮夫手记十四 烙馍卷菜 (2011-3-13) amon54
· 写给14个月大的Olivia (2008-5-9) audrydj · 【直播结束】来和我一起见证被妈妈遗弃的小鸡的出生吗?(第14页新增坚强光屁屁照!18+) (2010-11-16) 七朵花
Advertisement
Advertisement
查看: 3906|回复: 8

[IT] 新手请教Soap Web Service大拿一个关于发布的问题 [复制链接]

发表于 2017-6-6 16:45 |显示全部楼层
此文章由 Keith 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Keith 所有!转贴必须注明作者、出处和本声明,并保持内容完整
用contract first 方式开发Soap Web Service,最初在WSDL文件中要写这个Web Service的URL(soap:address 的location)
在开发阶段这个URL是这样的: http://localhost:8080/soup-ws-fb/services/orders
但是在测试环境和Production上,URL是不一样的。分别是:
test.mydomain.com/soup-ws-fb/services/orders
www.mydomain.com/soup-ws-fb/services/orders

那么岂不是针对每一个不同的环境的发布,都要修改WSDL文件,做一个新的WAR来发布?

谢谢!
祖国就在你的脚下....
Advertisement
Advertisement

发表于 2017-6-6 20:50 |显示全部楼层
此文章由 aulin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 aulin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
设成系统property就行了。

话说现在还有人用 soap?

评分

参与人数 1积分 +4 收起 理由
Keith + 4 感谢分享

查看全部评分

发表于 2017-6-7 06:22 来自手机 |显示全部楼层
此文章由 becoset 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 becoset 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你要做API,单纯的post就行了。一般想要SOAP 的都是想要XML结果而已。

发表于 2017-6-7 07:52 来自手机 |显示全部楼层
此文章由 sonybp 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 sonybp 所有!转贴必须注明作者、出处和本声明,并保持内容完整
方法一,这个URL的生成重构成一个方法,基于当前机器名来拼装。
方法二,设置环境变量参数,动态生成URL。打包时基于不同环境取相应变量参数。同二楼的答案一样。

评分

参与人数 1积分 +4 收起 理由
Keith + 4 感谢分享

查看全部评分

发表于 2017-6-7 10:00 来自手机 |显示全部楼层
此文章由 nuptwg 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 nuptwg 所有!转贴必须注明作者、出处和本声明,并保持内容完整
becoset 发表于 2017-6-7 06:22
你要做API,单纯的post就行了。一般想要SOAP 的都是想要XML结果而已。

api也可以回xml,估计是legacy system

发表于 2017-6-7 10:12 |显示全部楼层
此文章由 pengruijun 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 pengruijun 所有!转贴必须注明作者、出处和本声明,并保持内容完整
RESTful web api 都是相对路径,难道 soap 一定要全路径?
Advertisement
Advertisement

发表于 2017-6-7 11:08 |显示全部楼层
此文章由 aulin 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 aulin 所有!转贴必须注明作者、出处和本声明,并保持内容完整
pengruijun 发表于 2017-6-7 10:12
RESTful web api 都是相对路径,难道 soap 一定要全路径?

client 和 service 未必是一个server。

发表于 2017-6-7 13:57 |显示全部楼层
此文章由 Keith 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Keith 所有!转贴必须注明作者、出处和本声明,并保持内容完整
sonybp 发表于 2017-6-7 07:52
方法一,这个URL的生成重构成一个方法,基于当前机器名来拼装。
方法二,设置环境变量参数,动态生成URL。 ...

谢谢!听得挺抽象,方便给example code 吗?
祖国就在你的脚下....

发表于 2017-6-7 15:33 |显示全部楼层
此文章由 sonybp 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 sonybp 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Keith 发表于 2017-6-7 13:57
谢谢!听得挺抽象,方便给example code 吗?

对应方法一:
给你各java的示例。

        private static String retrieveServerName(){
                String serverName = "";
                try {
                        InetAddress ip = InetAddress.getLocalHost();
                        serverName = ip.getHostName();
                } catch (UnknownHostException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }
                return serverName;
        }

        private static String getServerURLName(){  // 其中develop_machine,test_machine,production_machine对应相应的机器hostname
                if("develop_machine".equals(retrieveServerName())){
                          return "localhost:8080";
                }else if("test_machine".equals(retrieveServerName())){
                          return “test.mydomain.com”;
                }else if("production_machine".equals(retrieveServerName())){
                          return “www.mydomain.com”;
                }else{
                          return "localhost:8080";
                }
        }

对应你的http://localhost:8080/soup-ws-fb/services/orders可以写成"http://"+getServerURLName()+"/soup-ws-fb/services/orders"

对应方法二:
把你的http://localhost:8080/soup-ws-fb/services/orders分别放到三个配置文件里面,利用打包工具的脚本在对相应环境打包时取相应的配置文件。

评分

参与人数 1积分 +4 收起 理由
Keith + 4 感谢分享

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部