一个简单的cxf框架调用webservice接口天气预报例子
2017-01-04 13:58
771 查看
wsdl URL:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
cxf环境变量配置百度!
命令:wsdl2java http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,会在本目录生成java代码。
如果报错,s:schemal.........................,解决方案:
1.先把网址上这个wsdl另存到桌面,记得后缀名是wsdl文件,然后删掉<s:element ref="s:schema"/>,有几个删几个。
2.然后在CMD命令窗口里面cd到wsdl的存放目录,输入命令:wsdl2java 你保存的文件名称.wsdl,直接这样子会在本目录生成java代码,供你调用。
3.需要的jar包:
activation.jar cxf-2.1.2.jar jaxb-impl-2.1.7.jar wsdl4j-1.6.2.jar xml-resolver-1.2.jar XmlSchema-1.4.2.jar
如果有需要其他jar包的,请在cxf的lib目录下找,肯定够用,么必要去网上下载下。
下面是调用代码,把你生成的java代码导入改项目中即可。
package cn.com.client;
import java.util.List;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebServiceSoap;
public class Test {
public static void main(String[] args) throws Exception {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setAddress("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
factory.setServiceClass(WeatherWebServiceSoap.class);
WeatherWebServiceSoap client = (WeatherWebServiceSoap) factory.create();
ArrayOfString o = client.getWeatherbyCityName("北");
//ArrayOfString o =client.getSupportProvince();
System.out.println(o);
List<String> strList = o.getString();
for (String str : strList) {
System.out.println(str);
}
}
}
cxf环境变量配置百度!
命令:wsdl2java http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl,会在本目录生成java代码。
如果报错,s:schemal.........................,解决方案:
1.先把网址上这个wsdl另存到桌面,记得后缀名是wsdl文件,然后删掉<s:element ref="s:schema"/>,有几个删几个。
2.然后在CMD命令窗口里面cd到wsdl的存放目录,输入命令:wsdl2java 你保存的文件名称.wsdl,直接这样子会在本目录生成java代码,供你调用。
3.需要的jar包:
activation.jar cxf-2.1.2.jar jaxb-impl-2.1.7.jar wsdl4j-1.6.2.jar xml-resolver-1.2.jar XmlSchema-1.4.2.jar
如果有需要其他jar包的,请在cxf的lib目录下找,肯定够用,么必要去网上下载下。
下面是调用代码,把你生成的java代码导入改项目中即可。
package cn.com.client;
import java.util.List;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import cn.com.webxml.ArrayOfString;
import cn.com.webxml.WeatherWebServiceSoap;
public class Test {
public static void main(String[] args) throws Exception {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setAddress("http://www.webxml.com.cn/WebServices/WeatherWebService.asmx");
factory.setServiceClass(WeatherWebServiceSoap.class);
WeatherWebServiceSoap client = (WeatherWebServiceSoap) factory.create();
ArrayOfString o = client.getWeatherbyCityName("北");
//ArrayOfString o =client.getSupportProvince();
System.out.println(o);
List<String> strList = o.getString();
for (String str : strList) {
System.out.println(str);
}
}
}
相关文章推荐
- android调用web service(cxf)实例应用详解
- 在CXF中使用继承
- CXF+Spring+Maven+JBOSS7简单例子
- CXF 生成客户端报错 Two classes have the same XML type ...
- cxf spring mybiats
- Web Service的CXF实现(Spring整合方式)
- 新手初识webservice-理论篇
- 新手初识webservice-实践篇
- Web Service 那点事儿(2)—— 使用 CXF 开发 SOAP 服务
- Web Service 那点事儿(4)—— 使用 CXF 开发 REST 服务
- CXF使用问题整理
- Apache CXF REST example
- ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端
- Linux下用gSOAP开发Web Service服务端和客户端程序(一)
- Linux下用gSOAP开发Web Service服务端和客户端程序(二)
- cxf 拦截器
- web service, wcf, web api
- xfire客户端连接cxf服务端完全解决!
- webservice cxf学习
- Tomcat 7下SSL配置出现异常: '/root/.keystore' did not find a matching property