之前查看了教程
关于IDEA 创建WebService实例访问404问题的解决
两篇教程之后,在此记录下我在开发这个过程当中遇到的一些问题。
一、WEB Services 服务器
1、File---new project创建webservice服务器,点击next
2、定义项目名
3、点击finish,出现下图项目
4、在类中点击右键出现下图
5、勾选需要生成的方法,点击ok,生成HelloWorld.wsdl文件
6、如果集成了tomcat,则不需要如下操作,否则按照下图操作
7、上一步骤为集成tomcat,集成之后还要注意引入下面的库,才可以运行项目
8、如果下面出现警告,则点击fix
9、 上面步骤完毕之后,检查 web-inf 目录下是否存在 web.xml . 部分工具生成项目是没有自动生成 web.xml 文件
内容为 :
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
- version="3.1">
- <display-name>Apache-Axis</display-name>
- <servlet>
- <display-name>Apache-Axis Servlet</display-name>
- <servlet-name>AxisServlet</servlet-name>
- <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
- </servlet>
- <servlet>
- <display-name>Axis Admin Servlet</display-name>
- <servlet-name>AdminServlet</servlet-name>
- <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class>
- <load-on-startup>100</load-on-startup>
- </servlet>
- <servlet>
- <display-name>SOAPMonitorService</display-name>
- <servlet-name>SOAPMonitorService</servlet-name>
- <servlet-class>org.apache.axis.monitor.SOAPMonitorService</servlet-class>
- <init-param>
- <param-name>SOAPMonitorPort</param-name>
- <param-value>5101</param-value>
- </init-param>
- <load-on-startup>100</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/servlet/AxisServlet</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>*.jws</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>SOAPMonitorService</servlet-name>
- <url-pattern>/SOAPMonitor</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>AdminServlet</servlet-name>
- <url-pattern>/servlet/AdminServlet</url-pattern>
- </servlet-mapping>
- <mime-mapping>
- <extension>wsdl</extension>
- <mime-type>text/xml</mime-type>
- </mime-mapping>
- </web-app>
10、启动tomcat,输入网址 http://localhost:8080/services ,出现下面图示说明服务器端搭建成功
11、根据 10 步骤,点击 HelloWorld (wsdl),查询 HelloWorld地址 。 http://localhost:8080/services/HelloWorld
二、WEB Services 客户端
1.、现在创建客户端
2、定义客户端名称
3、点击finish之后,出现下图弹框,按照下图填写相关内容
4、引入 junit 依赖包。自动生成客户端类的时候会出现一些错误,按照下图写@Test方便导入junit包,导入成功后删除@Test
5、客户端代码,main函数中修改如图
代码中的
Activator service = locator.get();
service.businessMethod();
- 1
- 2
改成
HelloWorld_PortType service = locator.getHelloWorld();
System.out.println(service.sayHelloWorldFrom("sdsa"));
- 1
- 2
6、保用tomcat运行服务端,运行客户端的main函数,进行测试即可!
7、 如果测试报 404 错误 , 检查 HelloWorldServiceLocator.java 类的 HelloWorld_address 属性,是否与服务器中 11 步骤中的地址相同。