Web-Service-SOAP&WSDL

WebService通过HTTP协议完成远程调用: (深入分析) – RPC


WebService只采用HTTP POST方式传输数据,不使用GET方式; -- 握手,WSDL-get,
普通http post的contentType为
•application/x-www-form-urlencoded
WebService的contentType为-即在Http的基础上发SOAP协议
•text/xml 这是基于soap1.1协议。
•application/soap+xml 这是基于soap1.2协议。

WebService从数据传输格式上作了限定。WebService所使用的数据均是基于XML格式的。目前标准的WebService在数据格式上主要采用SOAP协议。SOAP协议实际上就是一种基于XML编码规范的文本协议。

SOAP – Simple Object Access protocol 简单对像访问协议。是运行在 HTTP 协议基础之上的协议。其实就是在 HTTP 协议是传输 XML 文件,就变成了 SOAP 协议。

SOAP1.1和SOAP1.2的 namespace不一样。可以通过查看类
javax.xml.ws.soap.SOAPBinding来查看里面的常量
默认情况下, Jdk1.6 只支持 soap1.1
即: @ BindingType (value=javax.xml.ws.soap.SOAPBinding. SOAP11HTTP_BINDING )

SOAP1.1和SOAP1.2的对比

WebService和Web服务器的区别


WebService和Web服务器有什么区别呢?我们可以把WebService看作是Web服务器上应用;反过来说,Web服务器是WebService运行时所必需的容器。这就是它们的区别和联系。

使用JDK1.6发布的简单Web服务,其内部其实是使用 Socket实现。可以查看:SUN公司未对外公布的API类 com.sun.xml.internal.ws.transport.http.server . ServerMgr获知,请使用反编译工具。

WebService的特点
WebService通过HTTP POST方式接受客户的请求
WebService与客户端之间一般使用SOAP协议传输XML数据.
它本身就是为了跨平台或跨语言而设计的。


WSDL

发布
/**
 * 
 * 
 * @author 姜沂
 * 
 *         WebService 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
 * 
 */
@WebService
public class HelloService {
	public static void main(String[] args) {
		/**
		 * 静态的和final的方法 不能被发布 参数1:服务的发布地址 参数2:服务的实现者
		 */
		Endpoint.publish("http://127.0.0.1:9999/hello", new HelloService());
		System.out.println("Server ready...");
	}

	public String sayHello(String name) {
		System.err.println("----------------");
		return "hello" + name;
	}
	@WebMethod(exclude=true)//不暴露
	public String sayHello2(String name) {
		return "hello " + name;
	}
}

访问
http://127.0.0.1:9999/hello?wsdl






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值