对《服务计算》课程中的一些知识进行总结:
IDEA2019中基于Apache Axis2对外提供Web服务,创建webservices的服务端和客户端,生成WSDL文件,以及调用服务全过程。
其中有一些问题和异常另篇详细描述解决。
1. 查看Apache Axis2官方文档下载配置所需文件
Apache Axis2的官方文档为:http://axis.apache.org/axis2/java/core/
下载IDEA所需要的配置文件:http://axis.apache.org/axis2/java/core/download.html
IDEA下安装教程见:http://axis.apache.org/axis2/java/core/tools/idea/Idea_plug-in_userguide.html
过程简述为:下载解压到IDEA软件安装目录下的plugins下:
修改名称为axis2-idea-plugin,打开IDEA会看到以下更新:
说明安装Apache Axis2成功!
如果未安装成功,博主也遇到了,参考下面的解决方案:
2. 创建服务端WebServices(Apache Axis2)
2.1 新建项目:
file–>new–>project
项目名称自取。
创建完成后会自动创建一个HelloWorld的class:
2.2 创建Wsdl文件
不同于其他版本的IDEA,我在右击时没有找到WebServices选项,在Tools中找到:
选择 Generate Wsdl From Java Code... ,点击OK,就会生成wsdl文件:
2.3 配置tomcat服务器:
右上角Add Configurations->Tomcat Server->Local:
进行如下修改:
2.4 配置项目结构
左上角File->Project Structure:
完毕!
2.5 打开tomcat服务器查看客户端
右上角点击运行,运行成功!
网页输入:http://localhost:8080/services
网页输入:http://localhost:8080/services/HelloWorld
网页输入:http://localhost:8080/services/HelloWorld?wsdl
服务端配置成功!
3. 创建客户端WebServices Client(Apache Axis2)
3.1 创建客户端
file–>new–>project
跳出的Generate Java Code From Wsdl 中,修改url为刚才客户端的地址:
然后如下图,报错属于正常现象:
3.2 生成Test文件
重复以下部分上述操作:
勾选Generate TestCase:
3.3 编辑HelloWorldClient:
Alt+Enter导包,然后修改代码如下:
// 部分代码
HelloWorldServiceLocator locator = new HelloWorldServiceLocator();
HelloWorld_PortType service = locator.getHelloWorld();
String str = service.sayHelloWorldFrom("XXX");
System.out.println(str);
3.4 运行客户端
运行后报错:
解决方案:https://blog.csdn.net/buluxianfeng/article/details/109608466
解决问题后,运行,但继续报错:
解决方案:https://blog.csdn.net/buluxianfeng/article/details/109606313
解决后,运行,终于成功了!
客户端:
服务器端:
至此,HelloWorld程序搭建完成!
后记:自己编写的class程序运行报错:
解决方案:https://blog.csdn.net/buluxianfeng/article/details/109612266
至此,IDEA2019中基于Apache Axis2对外提供Web服务,创建webservices的服务端和客户端,生成WSDL文件,以及调用服务全过程记录完成。