第一个Web Service的开发、发布及应用(Java)
2013-04-10 23:54
393 查看
一、服务的开发
(开发框架很多 以cxf为例创建项目后 导入cxf的支持jar包)
①在web项目的资源文件夹src中建立格式如org.mike.ws的包
创建服务的接口类HelloWorld.java代码如下
②在src中建立如下格式如org.mike.ws.impl的包
创建服务的实现类HelloWorldImpl.java
③在org.mike.ws包中创建类WSServlet.java用于发布服务
④修改网站的配置文件WebContent->WEB-INF->web.xml添加类说明和映射目录
添加代码如下注意添加的位置
二、发布
将网站上传至服务器假设发布地址为http://127.0.0.1
此时可检验应用是否同时发布http://127.0.0.1/ws/HelloWorld?wsdl
三、客户端使用已发布的Web Service
说明:Web Service发布后是可以用任何语言访问的
本例使用Java演示
①创建Java工程wsClientTest
导入Web Service支持类
打开命令行界面转到本工程src目录下 输入命令wsimport -keep http://127.0.0.1/ws/HelloWorld?wsdl(该命令为jdk自带)
src下边生成了Web Service支持类
②src下创建包test 并在包下创建类myTest.java代码如下
运行后可以看到控制台输出了"欢迎Mike"
毫无疑问的 断网后程序无法运行
(开发框架很多 以cxf为例创建项目后 导入cxf的支持jar包)
①在web项目的资源文件夹src中建立格式如org.mike.ws的包
创建服务的接口类HelloWorld.java代码如下
package org.mike.ws; import javax.jws.WebService; /** * Web服务接口,第一个Web Service规范的发布版,HelloWorld * * @author Mike * */ @WebService public interface HelloWorld { /** * @param name 名字 * @return 欢迎参数指定的名字 */ public String sayHi(String name); }
②在src中建立如下格式如org.mike.ws.impl的包
创建服务的实现类HelloWorldImpl.java
package org.mike.ws.impl; import org.mike.ws.HelloWorld; import javax.jws.WebService; /** * Web服务接口,第一个web service规范的发布版,HelloWorld * * @author Mike * */ @WebService(endpointInterface = "org.mike.ws.HelloWorld", serviceName="HelloWorld") public class HelloWorldImpl implements HelloWorld { /** * @param name 名字 * @return 欢迎参数指定的名字 */ @Override public String sayHi(String name) { return "欢迎"+name; } }
③在org.mike.ws包中创建类WSServlet.java用于发布服务
package org.mike.ws; import javax.servlet.ServletConfig; import javax.xml.ws.Endpoint; import org.apache.cxf.transport.servlet.CXFNonSpringServlet; import org.mike.ws.impl.HelloWorldImpl; /** * @author Mike * */ public class WSServlet extends CXFNonSpringServlet { @Override public void loadBus(ServletConfig servletConfig){ super.loadBus(servletConfig); //发布服务 Endpoint.publish("/HelloWorld", new HelloWorldImpl()); } }
④修改网站的配置文件WebContent->WEB-INF->web.xml添加类说明和映射目录
添加代码如下注意添加的位置
<servlet> <servlet-name>WSServlet</servlet-name> <servlet-class>org.mike.ws.WSServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>WSServlet</servlet-name> <url-pattern>/ws/*</url-pattern> <!--上面很重要 使之应用最后映射为/ws/HelloWorld--> </servlet-mapping>
二、发布
将网站上传至服务器假设发布地址为http://127.0.0.1
此时可检验应用是否同时发布http://127.0.0.1/ws/HelloWorld?wsdl
三、客户端使用已发布的Web Service
说明:Web Service发布后是可以用任何语言访问的
本例使用Java演示
①创建Java工程wsClientTest
导入Web Service支持类
打开命令行界面转到本工程src目录下 输入命令wsimport -keep http://127.0.0.1/ws/HelloWorld?wsdl(该命令为jdk自带)
src下边生成了Web Service支持类
②src下创建包test 并在包下创建类myTest.java代码如下
package HelloWorldTest; import org.mike.ws.impl.*; public class test { public static void main(String[] args) { HelloWorld_Service factory = new HelloWorld_Service(); HelloWorld hw=factory.getHelloWorldImplPort(); System.out.println(hw.sayHi("Mike")); } }
运行后可以看到控制台输出了"欢迎Mike"
毫无疑问的 断网后程序无法运行
相关文章推荐
- Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
- [转]Java RPC通信机制之SOAP:应用Apache Axis进行Web Service开发
- JBoss发布Seam测试版 简化Java应用开发
- (引用)Java RPC通信机制之SOAP:应用Apache Axis进行Web Service开发
- 【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- EntDIY - Java企业应用开发框架全新版本发布
- 【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
- Portal-Basic Java Web 应用开发框架 v3.0.1 即将发布
- OpenJWeb java web应用快速开发平台增删改查视频发布
- Java6 开发的Web Service, 发布https的wsdl地址(一)
- OpenJWeb java web应用快速开发平台增删改查视频发布
- 【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- 软件开发工程师(JAVA)中级考试大纲之--五 J2EE WEB高级组件开发--(三)Tomcat服务器的环境及配置;应用发布和数据源配置;
- Portal-Basic Java Web 应用开发框架 v2.6.2 发布(源码、示例及文档)
- Java RPC通信机制之SOAP:应用Apache Axis进行Web Service开发
- 【双旦献礼】Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- Portal-Basic Java Web 应用开发框架 v3.0.1 正式发布(源码、示例及文档)
- 框架应用开发【★更新★】Portal-Basic Java Web 开发框架 v3.1.1 正式发布(源码、示例及文档)-java教程