[原]一个基于cxf+oracle soa suite10g应用开发的总结

    环境

    winxp、win2003

    jdk1.6.0_10

    apache-tomcat-6.0.20

    eclipse java ee ide v3.5.2

    apache-cxf-2.3.0

 

    将tomcat注册(反注册)成windows服务

    将tomcat注册(反注册)成windows服务的方法,在控制台程序进入到tomcat的安装路径下的bin文件夹中,执行以下命令

    service install

    service uninstall

 

 

    cxf ws client generator

    用cxf-tool(wsdl2java)将wsdl转成java代码,格式如下:

    wsdl2java wsdlfile.wsdl

    或

    wsdl2java http://xxxxxxx:xxxx/xxxxxx/wsdlfile.wsdl

 

    在使用生成的service类时,需要留意的是所传入的基于Oracle SOA Suite的Routing Service的url的格式应该是:

    URL url = new URL("http://soainquiry.accl.gcr-intranet.msd:7777/esb/wsil/InquirySystem/RouterForIncome?wsdl");
    XXXXService service = new XXXXService(url);

    而不是

    URL url = new URL("http://soainquiry.accl.gcr-intranet.msd:7777/esb/wsil/InquirySystem/RouterForIncome");
    XXXXService service = new XXXXService(url);

    这点与用IBM RSD的WS Client Generator生成出来的代码有所区别。

 

 

    部署到测试环境

    部署是正常的,甚至能够在浏览器中显示到service的wsdl文件的内容。但是,soapui工具中测试报错,错误日志中,仅显示:

         javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service。

    这些信息不足以判断到底是不能在tomcat中创建基于cxf的service,还是因为不能创建基于cxf的用于访问Oracle soasuite的service的客户端。在测试服务器上,搭建了一套开发环境进行调试后,终于发现是因为测试服务器仅能联通Oracle soasuite的LB,但不能联通集群中的服务器server1和server2。在c:/windows/system32/drivers/etc/hosts文件中加入以下两行:

    192.168.0.234    soaesbq1

    192.168.0.235    soaesbq2

    再次运行测试工具,通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值