文档章节

WebService初体验——在JDK下发布第一个ws服务

许大白
 许大白
发布于 2014/03/07 00:07
字数 566
阅读 2535
收藏 1

首先,建立一个WebService。

package cn.xzj.ws;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//使用jdk1.6.0_24以上版本
//1、添加注解
@WebService
public class HelloWorld {
    //2、至少包含一个可以对外公开的服务
 public String a(String name){
  return "屌丝"+name;
 }
 //3、第一个参数称为Binding即绑定地址,
 //第二个参数是实现者,即谁提供服务
 public static void main(String[] args) {
  HelloWorld h = new HelloWorld();
  Endpoint.publish("http://localhost:8014/hello", h);
  
 }
}

直接运行,jdk1.6会有信息,1.7为空,不报错就没有问题,表示启动WebService成功!

在浏览器访问http://localhost:8014/hello?wsdl,获得WebService说明书,看到如下

  <?xml version="1.0" encoding="UTF-8" ?> 
- <!--  Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. 
  --> - <!--  Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6.   --> - <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.xzj.cn/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.xzj.cn/" name="HelloWorldService">- <types>- <xsd:schema>  <xsd:import namespace="http://ws.xzj.cn/" schemaLocation="http://localhost:8014/hello?xsd=1" />   </xsd:schema>  </types>- <message name="a">  <part name="parameters" element="tns:a" />   </message>- <message name="aResponse">  <part name="parameters" element="tns:aResponse" />   </message>- <portType name="HelloWorld">- <operation name="a">  <input message="tns:a" />   <output message="tns:aResponse" />   </operation>  </portType>- <binding name="HelloWorldPortBinding" type="tns:HelloWorld">  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> - <operation name="a">  <soap:operation soapAction="" /> - <input>  <soap:body use="literal" />   </input>- <output>  <soap:body use="literal" />   </output>  </operation>  </binding>- <service name="HelloWorldService">- <port name="HelloWorldPort" binding="tns:HelloWorldPortBinding">  <soap:address location="http://localhost:8014/hello" />   </port>  </service>  </definitions>

Jdk的当前版本下,通过wsimport这个工具来生成远程调用的源代码

D:\>wsimport -s . http://localhost:8014/hello?wsdl
parsing WSDL...

generating code...

compiling code...

D:\>

在D盘就可以看到cn/xzj/ws生成的class文件和java文件,拷贝java文件到项目中。

 package cn.xzj.ws;
public class Test {
 public static void main(String[] args) {
  ////创建一个客户端服务对象 
  HelloWorld h = new HelloWorldService().getHelloWorldPort();
   //调用服务方法,并打印方法返回值 
  System.out.println(h.a("大白"));
 }
}

输出:屌丝大白。

 

注意: 

给类添加上@WebService注解后,类中所有的非静态方法都将对外公布。

不支持静态方法,final方法。

如果希望某个方法(非static,非final)不对外公开,可以在方法上添加

@WebMenthod(exclude=true),防止对外公开。

如果一个类上,被添加了@WebService注解,则此类必须至少有一个可公开的方法,否则将会启动失败。

© 著作权归作者所有

许大白
粉丝 2
博文 30
码字总数 7729
作品 0
海淀
程序员
私信 提问
使用JDK开发WebService

WebService学习总结(三)——使用JDK开发WebService 一、WebService的开发手段   使用Java开发WebService时可以使用以下两种开发手段     1、 使用JDK开发(1.6及以上版本)     2、使...

stys35
01/26
0
0
webService简单开发步骤

----------------------------服务端---------cxf框架------------------------------------------------ 导入jar包 写一个webservice接口 @WebService public interface WebService01 { } ......

李永china
2016/04/27
86
0
使用CXF框架发布WebService

CXF官方网站:http://cxf.apache.org/ 1.使用CXF发布WebService服务 准备: 导入相关jar包: Jar包下载地址:http://cxf.apache.org/download.html 或者使用maven导入: 发布该服务:...

帅得拖网速
2016/08/21
71
0
Web Services(1)-入门介绍及实战

1.Web Services 简介 Web Services, 即 "Web 服务", 简称 "WS", 其实就是"基于Web 服务" , 所谓的服务是双方的,有服务的提供方,也有服务的需求方, 通常是服务提供方发布服务,服务需求方调用......

陈小扁
2016/03/28
168
0
与Java Web Service相关的若干概念(JAX-WS,JAX-RS)

l JWS: 是指与webservice相关的J2EE(其实现在应该叫做Java EE吧)技术叫做 JWS(全称就是 java webservice)。没错,jws指的就是 javawebservice l Jws含有的技术 1. JAX-WS 2. JAX-RS 3. JAX...

豆豆4997
2014/04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linq两表联查结果集处理

全局定义一个同结果集类型的变量: var strQuery =(new int[] { 1 }).Select(x => new { DispLevel = "empty", Separator ="empty", GrpShortCut......

南风末
7分钟前
1
0
AJAX跨域调用相关知识-CORS和JSONP(引)

AJAX跨域调用相关知识-CORS和JSONP 1、什么是跨域 跨域问题产生的原因,是由于浏览器的安全机制,JS只能访问与所在页面同一个域(相同协议、域名、端口)的内容。 但是我们项目开发过程中,经...

辉煌霸猪
12分钟前
0
0
Http协议详解

1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP基于TCP/IP通信协议来传递数据。 ...

榴莲黑芝麻糊
17分钟前
2
0
Windows Terminal 设置背景图片

效果见文末,三步即可 一、打开配置文件位置 %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState 二、将要设置的图片放入本目录(RoamingState) 三、修改配置文...

DAOYUAN0626
17分钟前
2
0
Linux系统发现新恶意软件

安全研究人员发现了一种新的Linux恶意软件,它似乎是由中国黑客创建的,并被用作远程控制受感染系统的手段。 这个恶意软件命名为HiddenWasp,由用户模式rootkit,木马和初始部署脚本组成。该...

Linux就该这么学
19分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部