前面已经创建好了服务类,并且发布了服务,现在要去调用发布放服务;
在这里我将其分成两个项目;
1.重新创建一个WebProject ,并且使用wsdl2java 这个工具生成了客户端的代码(得先配置CXF的环境);
在这里小弟我遇到了一个揪心的问题,首先我使用的是JDK1.8,然后在doc中生成代码的时候会出现这样的提示
‘由于 accessExternalSchema 属性设置的限制而不允许
'file'
访问,
因此无法读取方案文档
'xjc.xsd'
。
然后我将其替换成1.7的JDK, 然而并没有什么用,还是继续这提示,最后的解决方法就是我在JDK1.7的jre的lib中添加了一个叫‘jaxp.properties ’的配置文件,内容为
javax.xml.accessExternalSchema = all,顺利解决;
在DOC中生成代码的语句 :wsdl2java -d . http://localhost:8080/CxfAndSpring/ws/weather?wsdl
代码生成后如下
2.开始配置applicationContext.xml文件
address就是server的WSDL文档地址 ;
serviceclass就是wsdl文档中的porttype ,也就是你发布的接口名称,可以把你的wsdl文档拉到最下面,然后根据bingding的名称去找到porttype;
在这里我的porttype 就是weatherCXF
在这里就把客户端配置完成,然后就来用junt 来测试client
1 先加载spring的配置文件:
2.然后拿到我们配置好的bean 之后就可以拿到结果了~
搞定睡觉。。。
怕什么真理无穷 进一寸有一寸的欢喜