WebService:调用第三方服务(中英文翻译)
本篇博客内容是应用webservice知识来获取第三方服务,这里以中英文转换的服务为例。服务发布地址:http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl。如果需要其他提供其他服务,可百度搜索webxml。
1.新建EnglishChinese的Java项目,找到其项目所在的路径,在src的文件夹下,按住shift,右键选择“在此处打开Powershell”窗口。
2.在命令窗口输入
wsimport -keep http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl
然后回车,等待java虚拟机编译,再去eclipse刷新该项目,发现src目录有很多服务类。
如果回车编译不成功,报错如何解决。
进入此网页
将此网页以xml的格式保存在桌面,在桌面打开命令窗口,命令窗口输入
wsimport -keep EnglishChinese.xml然后回车。
出现此错误:修改xml文件,将文件中所有出现<s:element ref=“s:schema”/><s:any/>的地方全部使用 <s:any minOccurs=“2” maxOccurs=“2”/>替换掉。
然后重新在命令窗口输入
wsimport -keep EnglishChinese.xml
然后回车
3 然后将编译好的代码文件夹复制到项目的src文件下,刷新eclipse的项目,发现src下有目录了,开始编写测试代码。
从服务的wsdl文件找到service name= 从下往上找
4.新建TestWsdl.java
package cn.com.webxml;
import java.util.List;
import cn.com.webxml.TranslatorResponse.TranslatorResult;
public class TestWsdl {
public static void main(String[] args) {
// 获取服务类
EnglishChinese englishChinese = new EnglishChinese();
// 实现接口
EnglishChineseSoap englishChineseSoap = englishChinese.getEnglishChineseSoap();
// 调用方法:中英文双向翻译
ArrayOfString translatorString = englishChineseSoap.translatorString("单词");
System.out.println(translatorString.string);
// 调用方法:中英文双向翻译(例句)
ArrayOfString translatorSentenceString = englishChineseSoap.translatorSentenceString("单词");
System.out.println(translatorSentenceString.string);
}
}
控制台输出
此博客具体项目代码例子在:https://download.csdn.net/download/zeal9s/10721799
说在最后的话:编写实属不易,若喜欢或者对你有帮助记得点赞+关注或者收藏哦~