文档章节

WSDL标签阅读

hnzmdpan
 hnzmdpan
发布于 2017/03/20 14:20
字数 752
阅读 332
收藏 1

为了弄明白WSDL里的标签的含义,特使用JDK1.7自带的方法,发布了一个webService,如下所示:

先写一个简单的WebService

@WebService
public class PersonService {
	@WebMethod
	@WebResult
	public String getName() {
		return "this is name";
	}
}

采用JDK的API发布

package org.test;

import javax.xml.ws.Endpoint;

public class ServicePublisher {
	public static void main(String[] args) {
		String address = "http://127.0.0.1:8989/ws/person";
		Endpoint.publish(address, new PersonService());
		System.out.println("发布webservice成功!");
	}
}

然后,打开访问http://127.0.0.1:8989/ws/person?wsdl,得到其网页源代码。接着,对PersonService类进行稍微修改,修改后的PersonService类如下所示

仔细观察便会发现,只不过是对WebService里的注解,加了一些参数而已。

package org.test;

import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;

@WebService(name = "person", portName = "psPortName", 
serviceName = "personServiceName", targetNamespace = "personTargetNameSpace")
public class PersonService {
	@WebMethod
	@WebResult
	public String getName() {
		return "this is name";
	}
}

重新发布WebService,重新访问,观察其后生成的HTML源代码,会发现有以下不同之处:

由此可得出

@WebService(
name = "person", 
portName = "psPortName", 
serviceName = "personServiceName", 
targetNamespace = "personTargetNameSpace")

先看一下<definitions>根标签里的属性的变化

绿色的tns,如果没有指定,则默认为反方向的包名(service类所在的包)。例如,我写的包名为org.test,那么这里则变成了test.org,并且自动以http://开头。这好像也还算合里,因为JAVA里的包名,不就是推荐为域名倒置吗?右侧的图为我手动指定的@WebService注释里的targetNamespace 属性值。

红色的targetNamespace属性,以及蓝色的namespace属性,和刚才说到的tns相同。

黄色的name属性,默认值为serivce类的名字,加上Service字符。例如,左侧的图中,类名为PersonService,所以生成的就是PersonServiceService。右侧的图中,则为我指定的@WebService注解的serviceName属性值。

绿色的部分,<portType>标签里的name属性,默认值为类名,图中左侧为service类的名字,PersonService。图中右侧为我手动指定的@WebService注解的name属性值。

红色的,<operation>标签里的Action属性,为字符串联结,即根签里的targetNamespace属性,加上<portType>里的name属性。

蓝色的,<binding>标里的name属性,默认值为类名加上PortBinding。图中右侧,为@WebService注释里的portName属性,加上PortBinding字符。后面的type属性值,则引用<portType>标签里的name属性,并且以字符“tns:”为前缀。

黄色的部分,<service>标签里的name属性,默认值为类名加上Service。图中右侧的,则是@WebService注解里的serviceName指定的。<port>标签里的name属性值,默认值为类名加上Port。图中右侧的,则为@WebService注解里的portName属性值;binding属性值,默认为,<binding>标签里的name属性值,并且以字符串“tns:”为前缀。

 

总结一下,注解里的属性,影响到的标签

@WebService(name = "person",    // <portType>标签里的name
portName = "psPortName", // <binding>签里的name
serviceName = "personServiceName", 根标签里的name。<service>标里的name
targetNamespace = "personTargetNameSpace"// 根标签里的tns。根标签里的targetnamespace属性。<types>标签
)

 

© 著作权归作者所有

hnzmdpan
粉丝 2
博文 14
码字总数 5427
作品 0
天津
程序员
私信 提问
Web Service学习笔记

Web Service概述 Web Service的定义 W3C组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API,它们可以通过网络...

姚君
2014/04/17
141
0
Soap WebService

SOAP协议简介 SOAP 指简单对象访问协议,它是一种基于XML的消息通讯格式,用于网络上,不同平台,不同语言的应用程序间的通讯。可自定义,易于扩展。一条 SOAP 消息就是一个普通的 XML 文档,...

Java_Rock
2018/01/03
0
0
WebService的WSDL文档结构详情

<?xml version='1.0' encoding='UTF-8'?> <wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://ws.day01ws.......

sxl01890
2016/04/16
74
0
用Zend Stuido 的WSDL编辑器

文件->新建->其他->Webservice->WSDL 新建WSDL 下一步 点完成生成如下wsdl TestSoapSoap下面填写php webService 如myservice.php NewOption:添加方法。WebService里需要提供给别人调用的方法......

晨曦之光
2012/03/09
907
0
webservice服务发布和客户端使用服务过程

java JDK发布webservice服务的过程: 1、 将提供服务的类打上注解:@WebService。 2、在提供服务类的非静态非final方法里填写服务实现。 3、在main方法里使用Endpoint类的静态方法publish(参...

techsboy
2014/04/24
9
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部