前言:项目中需要用到WebService来发起多平台之间的请求和回应,以前对WebService也不甚了解,然后先度娘了概念,这里再描述一下“能使得运行在不同机器上的应用不通过第三方软件和硬件就可以进行数据交换”,供以后的自己翻查。
下面主要记录一下自己在使用JDK1.6+apache tomcat7创建WebService的过程。
第一步:配置tomcat7环境,需要下载以下jar包jaxb-impl-2.1.2.jar、jaxws-api-2.1.jar,我在附件中提供下载,然后在
建立文件夹endorsed,然后将jar包放进去,这个是因为,如果缺少这两个jar包的话,在启动tomcat的时候以下错误
错误 写道
Caused by: java.lang.NoClassDefFoundError: com/sun/xml/bind/CycleRecoverable
第二步:建立webservice对象,万恶的helloworld
package dwz.business.webservice; import javax.jws.WebMethod; import javax.jws.WebParam; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; import javax.jws.soap.SOAPBinding.Use; @WebService @SOAPBinding(style = Style.RPC, use = Use.LITERAL) public class HelloWorld { @WebMethod @WebResult public String sayHelloWord(@WebParam String name) { return "My name is " + name; } }
第三步:在WEB-INF路径下新建sun-jaxws.xml
<?xml version="1.0" encoding="UTF-8"?> <endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime' version='2.0'> <endpoint name='TestService' implementation='dwz.business.webservice.HelloWorld' binding="http://java.sun.com/xml/ns/jaxws/2003/05/soap/bindings/HTTP/" url-pattern='/jdkService'/> </endpoints>
第四步:在web.xml中增加以下内容
<listener> <listener-class> com.sun.xml.ws.transport.http.servlet.WSServletContextListener </listener-class> </listener> <servlet> <servlet-name>TestService</servlet-name> <servlet-class> com.sun.xml.ws.transport.http.servlet.WSServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>TestService</servlet-name> <url-pattern>/jdkService</url-pattern> </servlet-mapping>
第五步:lib包中还需要一个jaxws-rt-2.0EA3.jar,附件中有下载
第六步:启动tomcat,然后在浏览器地址中输入以下内容
URL 写道
http://localhost:8080/StarOrder/jdkService?wsdl
StarOder为我的项目名,wsdl为webservice的一种描述语言。
最后,如果成功的话,会出现以下内容
写道
<definitions targetNamespace="http://webservice.business.dwz/" name="HelloWorldService"><types/><message name="sayHelloWord"><part name="arg0" type="xsd:string"/></message><message name="sayHelloWordResponse"><part name="return" type="xsd:string"/></message><portType name="HelloWorld"><operation name="sayHelloWord" parameterOrder="arg0"><input message="tns:sayHelloWord"/><output message="tns:sayHelloWordResponse"/></operation></portType><binding name="HelloWorldPortBinding" type="tns:HelloWorld"><soap12:binding transport="http://www.w3.org/2003/05/soap/bindings/HTTP/" style="rpc"/><operation name="sayHelloWord"><soap12:operation soapAction=""/><input><soap12:body use="literal" namespace="http://webservice.business.dwz/"/></input><output><soap12:body use="literal" namespace="http://webservice.business.dwz/"/></output></operation></binding><service name="HelloWorldService"><port name="HelloWorldPort" binding="tns:HelloWorldPortBinding"><soap12:address location="http://localhost:8080/StarOrder/jdkService"/></port></service></definitions>
相关推荐
在本示例中,我们将深入探讨如何在Java环境中创建和使用Web服务,特别是利用MyEclipse 8.6集成开发环境、JDK 1.6、Tomcat 7.x应用服务器以及JBoss 5.x应用服务器。 **1. Web服务基础** Web服务是基于SOAP(Simple ...
1. **熟悉环境配置**:安装Java Development Kit (JDK),理解Java Virtual Machine (JVM)的工作原理,以及如何使用集成开发环境如Eclipse。 2. **学习Java语法**:掌握基本的类、抽象类、接口和内部类的概念,这是...
- 熟悉 JDK 和 JVM,安装并配置 JDK。 - 学习 Java 基础语法,包括类、抽象类、接口和内部类的概念。 - 掌握 Java 核心编程,如输入输出流、多线程、集合类和 XML、正则表达式等。 - 学习 Java 图形化编程,如 ...
- 掌握 JDK、JVM 和 Eclipse 的安装配置。 - 学习 Java 基础语法,包括类、抽象类、接口和内部类。 - 学习核心编程,如输入输出流、多线程、集合、XML 和正则表达式。 - 掌握图形化编程(AWT、Swing)和网络编程...
高级软件工程师不仅需要深入理解开源技术与框架,如工作流引擎、规则引擎、缓存引擎等,还需要掌握JavaWeb的分布式开发技术,如JTA、JAAS、JNDI、JavaMail、JMS、WebService、JCA等,以及应用服务器的使用。...
此外,还要掌握JavaWeb分布式开发技术,包括JTA事务管理、JAAS验证与授权服务、JNDI命名与目录服务、JavaMail邮件服务、JMS信息服务,以及WebService、JCA、JMX等。 最后,作为JavaEE系统架构师,需要关注面向云...
- **分布式开发技术**:学习Java中的分布式技术,如JMS、WebService等。 - **应用服务器**:熟悉JBoss AS、WebLogic等应用服务器的部署和管理。 #### 八、Java EE系统架构师 - **面向云架构**:理解云原生应用的...
- 熟练掌握Java语法,包括CoreJava,使用JDK1.5 API。 - 掌握JavaBean和JDBC编程,能进行基于JSP/Servlet的Web编程。 - 精通基于MVC模式的JavaWeb开发,熟悉Struts、Hibernate和Spring框架。 - 熟练使用IDE工具...
【JSP动态网页设计】是JavaWeb开发中的一个重要组成部分,主要负责创建交互式的、内容能够根据用户需求实时更新的Web应用程序。JSP全称为JavaServer Pages,它允许开发者使用Java语言来编写动态网页,结合HTML、CSS...
### Java软件工程师就业班知识点概览 #### 第一部分:Java应用程序开发 ... - **WebService技术**:理解WebService的基本原理。 - **SOA服务导向架构**:掌握服务导向架构的设计原则和实现方法。
- **Oracle**:虽然这里提到“Oracle”,但在Java学习路径中可能是指Oracle提供的Java开发工具和资源,包括但不限于Oracle JDK。 - **JDBC**:Java数据库连接,用于Java应用程序与数据库交互的标准接口。 ##### 第...
- **注解**:在源代码中添加元数据的方式,用于各种目的如文档、编译时检查和代码处理。 - **自动装箱和拆箱**:自动将基本类型转换为包装类或反之。 - **枚举类**:提供了一种有限且固定数量的对象实例的方法。 ...
2. **Java数组**:教授如何在Java中创建和操作数组,包括一维数组、多维数组及其使用技巧。 3. **Java面向对象**:深入理解面向对象编程的核心概念,如类、对象、封装、继承、多态等。 4. **常用基础类**:学习Java....
- **Java虚拟机(JDK1.6)**:提供 Java 运行环境。 - **集成开发环境(Eclipse 或 IntelliJ IDEA)**:用于编写、调试和运行 Java 应用程序。 - **项目构建(Maven)**:管理项目的依赖关系,并自动化构建过程。 - **Web ...
JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 49 73、字节流与字符流的区别 50 74、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用。 51 75、描述一下JVM加载...
第⼆阶段:JavaSE+JavaWeb 1. 难易程度:两颗星 2. 课时量(技术知识点+阶段项⽬任务+综合能⼒):264课时 3. 主要技术包括:java基础语法、java⾯向对象(类、对象、封装、继承、多态、 抽象类、接⼝、常见类、...