Webservice 引用
来源:互联网 发布:java api官网下载 编辑:程序博客网 时间:2024/05/21 05:43
Webservice 引用
1.使用命令
wsinport的命令参数说明如下:
-d:生成客户端执行类的class文件的存放目录
-s:生成客户端执行类的源文件的存放目录
-p:定义生成类的包名
-verbose:显示生成过程
wsimport -s D:\Users\Administrator\workspace\WS_01\src -p com.shenhua.ws http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
生成客户端代码时候,报错如下:
[WARNING] src-resolve.4.2: 解析组件 's:schema' 时出错。在该组件中检测到 's:schema' 位于名称空间 'http://www.w3.org/2001/XMLSchema' 中,
但无法从方案文档 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1' 引用此名称空间的组件。如果这是不正确的名称空间,
则很可能需要更改 's:schema' 的前缀。如果这是正确的名称空间, 则应将适当的 'import' 标记添加到 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1'。
http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1的第 15 行
解决方案
(1)首先用浏览器解析wsdl文件,将浏览器wsdl中内容复制到一个磁盘中(举例E:)
(2)将<s:element ref="s:schema" /> <s:any />全部替换为<s:any minOccurs="2" maxOccurs="2" />
(3)在cmd中用wsimport命令生成客户端代码,这时候的wsdl路径为磁盘中的路径
wsimport -s D:\Users\Administrator\workspace\WS_01\src -p com.shenhua.ws E:\WeatherWS.asmx
(4)刷新eclise,即可看见生成的代码
调用
//创建一个WeatherWS工厂
WeatherWS ws=new WeatherWS();
//根据工厂创建一个WeatherWSSoap对象
WeatherWSSoap wssoap=ws.getWeatherWSSoap();
//如果返回的是一个ArrayOfString 调用.getString()方法转成一个List集合
System.out.println(wssoap.getRegionCountry().getString().get(0));
2.使用eclipse来操作
(1)前提是已经有项目或者新建一个项目
(2)file>new>other在弹出的New提示框内,输入web se
(3)选择“WebService Client”
(4)在Servicedefinition中输入接口地址
(5)点击“next”按钮,选择存放自动生成客户端代码的位置
(6)点击Finish按钮,就生成了代码
(7)产生的代码中, 有一个Java 文件以Proxy结尾, 这个就是调用的Class
调用
WeatherWSSoapProxy wsproxy=new WeatherWSSoapProxy();
System.out.println(wsproxy.getRegionCountry()[0]);
网页天气调用
http://www.tianqi.com/plugin/
1.使用命令
wsinport的命令参数说明如下:
-d:生成客户端执行类的class文件的存放目录
-s:生成客户端执行类的源文件的存放目录
-p:定义生成类的包名
-verbose:显示生成过程
wsimport -s D:\Users\Administrator\workspace\WS_01\src -p com.shenhua.ws http://ws.webxml.com.cn/WebServices/WeatherWS.asmx
生成客户端代码时候,报错如下:
[WARNING] src-resolve.4.2: 解析组件 's:schema' 时出错。在该组件中检测到 's:schema' 位于名称空间 'http://www.w3.org/2001/XMLSchema' 中,
但无法从方案文档 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1' 引用此名称空间的组件。如果这是不正确的名称空间,
则很可能需要更改 's:schema' 的前缀。如果这是正确的名称空间, 则应将适当的 'import' 标记添加到 'http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1'。
http://ws.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl#types?schema1的第 15 行
解决方案
(1)首先用浏览器解析wsdl文件,将浏览器wsdl中内容复制到一个磁盘中(举例E:)
(2)将<s:element ref="s:schema" /> <s:any />全部替换为<s:any minOccurs="2" maxOccurs="2" />
(3)在cmd中用wsimport命令生成客户端代码,这时候的wsdl路径为磁盘中的路径
wsimport -s D:\Users\Administrator\workspace\WS_01\src -p com.shenhua.ws E:\WeatherWS.asmx
(4)刷新eclise,即可看见生成的代码
调用
//创建一个WeatherWS工厂
WeatherWS ws=new WeatherWS();
//根据工厂创建一个WeatherWSSoap对象
WeatherWSSoap wssoap=ws.getWeatherWSSoap();
//如果返回的是一个ArrayOfString 调用.getString()方法转成一个List集合
System.out.println(wssoap.getRegionCountry().getString().get(0));
2.使用eclipse来操作
(1)前提是已经有项目或者新建一个项目
(2)file>new>other在弹出的New提示框内,输入web se
(3)选择“WebService Client”
(4)在Servicedefinition中输入接口地址
(5)点击“next”按钮,选择存放自动生成客户端代码的位置
(6)点击Finish按钮,就生成了代码
(7)产生的代码中, 有一个Java 文件以Proxy结尾, 这个就是调用的Class
调用
WeatherWSSoapProxy wsproxy=new WeatherWSSoapProxy();
System.out.println(wsproxy.getRegionCountry()[0]);
网页天气调用
http://www.tianqi.com/plugin/
0 0
- Webservice 引用
- 动态修改 webservice 引用
- 可动态引用webservice
- WebService引用动态配置
- 引用Reporting Service WebService
- WebService添加引用
- WebService引用以及说明
- winform引用webservice
- webservice更新引用
- webservice引用天气预报实例
- webservice引用注意事项
- webservice wsdl引用
- 动态引用WebService,建立WebService虚拟机
- 动态引用WebService,建立WebService虚拟机
- asp.net动态引用WebService
- C#写webservice服务引用
- VS2010 webservice 添加web引用
- asp.net动态引用WebService
- 构建自由通行的IOS开发者地图
- oracle数据库中插入char类型的数据为何后面总多出一个空格?
- 由Java展开
- python笔试题
- java中最常用jar包的用途说明
- Webservice 引用
- jdk jre
- Apache Note | Apache 学习笔记(心得) 【转】
- 用cmd命令修改oracle用户的密码
- js数据类型
- JAVA高级【1.1】《Java核心技术2》流与文件-IO流
- MySQL简介
- MySQL 5.7贴心参数之binlog_row_image
- PAT A1016. Phone Bills (25)