好久都没写博客了,准备学 web service 发现, xml 是 web service 的基础,于是在 w3schools 学了一个礼拜的 xml ,包括 xml namespace、schema、wsdl 等。越来越发现基础的重要性,基础打得扎实,学什么东西也快。理解得也更深刻。
从 axis 框架学起。
工作后,一直在用 IntelliJ IDEA 开发,用得也挺趁手的。在网上搜了一下 IntelliJ 下 axis web service 的开发,很不幸,没有找到中文资料。于是用英文关键字搜索,终于找到了官方的教程,前后参考过几个教程,都是针对 IntelliJ 低版本的,没有 IntelliJ 13.0版本的。于是跟着教程做,由于参考的是低版本 IntelliJ 的教程,在开发的过程中碰到了不少问题,但最终都解决了。
wiki:.jetbrains 官方教程 http://wiki.jetbrains.net/intellij/Developing_a_simple_Apache_Axis_WebService
第一步,新建一个工程,如图:
选 Java写一个工程名,选择好工程路径,点下一步
选择 webServices ,在右边的 version 中选择 Apache Axis ,如图,点完成。
IDE 会为我们生成一个 HelloWorld 类在 WEB-INF 下会生成一个 server-config.wsdd 文件。
在 HelloWorld.java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定
点 OK ,IDE 会为我们生成一个 wsdl 文件。。
下面我们配置 tomcat
如图,点 Fix
点 OK。
然后启动 tomcat ,在浏览器中输入:http://localhost:8080/services
结果却报错了,仔细看报错信息,好像是有 jar 包没有导入。
点该工程的工程结构,如图:
如图:
会发现有报错信息,缺少 Axis 的库,点下图中的小红灯泡:
选第一项:Add ‘JAX-WS-Apache’ to the...
选好以后,红色的警告消失,注意在 WEB-INF 下多出一个 lib 。
如图:
然后,重新启动 tomcat ,在浏览器中输入:http://localhost:8080/services ,出现如下信息,代表部署成功。
我们可以点开红色框中的超链接查看具体的信息,加入点了 HelloWorld 右边的超链接,我们会看到:
有一点要注意的地方,我们在前面利用了 ide 默认生成的 web service 地址:http://localhost:8080/services/example/HelloWorld
但我们在浏览器中输入以上的地址,却会收到一个错误,挺奇怪的, ide 默认提供的 web service 地址有误?
我们把 url 中的 example 去掉以后却能正常工作:http://localhost:8080/services/HelloWorld
不知道,为什么会这样,我们还是把 ide 默认生成的 web service 地址改改吧,修改 HelloWorld.wsdl 文件中的某一行,如下图:
把 example 去掉,如下图:
到此为止,服务端的 web service 已经创建完毕。
下一篇我会讲怎样创建客户端 web service 。