JavaWeb中使用JDK自带的webService

简介: JavaWeb中使用JDK自带的webService

前言:项目中需要用到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>

 

相关文章
|
Oracle Java 关系型数据库
JAVAweb 的Eclipse配置及需要安装的jdk及tomcat 完整详细 搭配图片,详细易懂
JAVAweb 的Eclipse配置及需要安装的jdk及tomcat 完整详细 搭配图片,详细易懂
175 0
|
弹性计算 安全 关系型数据库
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目(jdk、tomcat、Mariadb数据库)的安装 🍅 程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
386 0
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
|
Oracle Java 关系型数据库
JavaWeb项目开发(安装jdk)和搭建Tomcat服务器
JavaWeb项目开发(安装jdk)和搭建Tomcat服务器
105 0
JavaWeb项目开发(安装jdk)和搭建Tomcat服务器
|
Java Unix Linux
Linux/JavaWeb - JDK环境搭建 & Web运行环境配置 & Java项目部署发布(附:解决Linux防火墙限制问题)
Linux/JavaWeb - JDK环境搭建 & Web运行环境配置 & Java项目部署发布(附:解决Linux防火墙限制问题)
245 0
Linux/JavaWeb - JDK环境搭建 & Web运行环境配置 & Java项目部署发布(附:解决Linux防火墙限制问题)
|
弹性计算 安全 关系型数据库
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目(jdk、tomcat、Mariadb数据库)的安装
阿里云部署javaWeb项目依赖软件(jdk、tomcat、Mariadb数据库)的安装
|
Java 关系型数据库 应用服务中间件
JavaWeb项目部署到服务器详细步骤【基本的jdk安装】
JavaWeb项目部署到服务器详细步骤本地准备在eclipse中将项目打成war文件:鼠标右键要部署到服务器上的项目 导出项目数据库文件 MySql导出数据库文件方法:利用Navicat for MySQL。
2310 0
|
2月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
221 7
|
3月前
|
Oracle Java 关系型数据库
安装 JDK 时应该注意哪些问题
选择合适的JDK版本需考虑项目需求与兼容性,推荐使用LTS版本如JDK 17或21。安装时注意操作系统适配,配置环境变量PATH和JAVA_HOME,确保合法使用许可证,并进行安装后测试以验证JDK功能正常。
94 3
|
3月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
140 2
|
4月前
|
Oracle Java 关系型数据库
jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?
本文提供了详细的JDK 17安装教程,包括下载、安装、配置环境变量的步骤,并解释了在已有其他版本JDK的情况下如何管理多个JDK环境。
2831 0