HTTP SOAP
POST/saveUser.do HTTP/1.1 POST/saveUser.do HTTP/1.1
Content-Type:text/html;charset=utf8 Content-Type:text/xml;charset=utf8
Host:192.168.1.1 Host:192.168.1.1
...[空行] ...[空行]
name=jack&age=100&address=beijing <Envelope>
<body>
.......
</body>
<Envelope>
package com.cgm.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class WS_01 {
public String sayHello(String name){
return "hello"+name;
}
@WebMethod(exclude=true)
public String sayHello1(String name){
return "hello"+name;
}
public static void main(String[] args) {
Endpoint.publish("http://192.168.111.100:6789/hello", new WS_01());
}
}
webservice生成客户端源码 cmd 切换到要生成的文件目录下 wsimport -s . http://192.168.111.100:6789/hello?wsdl 回车
<?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.2.4-b01.
-->
- <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01.
-->
- <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.cgm.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://ws.cgm.com/" name="WS_01Service">
- <types>
- <xsd:schema>
<xsd:import namespace="http://ws.cgm.com/" schemaLocation="http://192.168.111.100:6789/hello?xsd=1" />
</xsd:schema>
</types>
- <message name="sayHello">
<part name="parameters" element="tns:sayHello" />
</message>
- <message name="sayHelloResponse">
<part name="parameters" element="tns:sayHelloResponse" />
</message>
- <portType name="WS_01">
- <operation name="sayHello">
<input wsam:Action="http://ws.cgm.com/WS_01/sayHelloRequest" message="tns:sayHello" />
<output wsam:Action="http://ws.cgm.com/WS_01/sayHelloResponse" message="tns:sayHelloResponse" />
</operation>
</portType>
+ <binding name="WS_01PortBinding" type="tns:WS_01">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
- <operation name="sayHello">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" />
</input>
- <output>
<soap:body use="literal" />
</output>
</operation>
</binding>
- <service name="WS_01Service">
- <port name="WS_01Port" binding="tns:WS_01PortBinding">
<soap:address location="http://192.168.111.100:6789/hello" />
</port>
</service>
</definitions>
客户端调用
package com.cgm.ws;
public class App {
public static void main(String[] args) {
WS01Service ws01Service=new WS01Service();
WS01 w=ws01Service.getWS01Port();
String a=w.sayHello("nanann");
System.out.println("============"+a);
}
}
分享到:
相关推荐
SOAP协议的设计目标是简单性和可扩展性,因此它并不包含传统消息系统和分布式对象系统的一些特性,例如分布式碎片收集、批量消息传输、对象引用和激活机制。 SOAP协议由三个核心部分组成: 1. **SOAP封装**:这...
**SOAP(Simple Object Access Protocol)协议**是一种基于XML(Extensible Markup Language)的...深入学习SOAP协议,包括其消息结构、错误处理机制以及与WSDL和UDDI的协同工作,对于提升Web服务开发能力至关重要。
**SOAP协议规范详解** SOAP(Simple Object Access Protocol),即简单对象访问协议,是一种基于XML(Extensible Markup Language)的协议,用于在Web服务中...理解并熟练掌握SOAP协议对于开发和维护Web服务至关重要。
SOAP协议的灵活性使得它可以与其他协议结合使用,如FTP、SMTP或者自定义的传输协议。然而,HTTP是最常见的绑定,因为其普遍性和易于通过防火墙的能力。在SOAP 1.2中,HTTP扩展框架的绑定可能涉及使用HTTP的非标准...
**SOAP协议详解** SOAP(Simple Object Access Protocol)简单对象访问协议是一种基于XML的协议,主要用于在分布式环境中交换结构化的、可扩展的信息。SOAP消息主要由三部分组成:Envelope(信封)、Header(头部)...
SOAP协议为分布式环境下的服务交互提供了一套标准化的机制,通过XML格式封装数据和元数据,支持跨语言、跨平台的互操作性。其设计上的简洁性和模块化特性,使其成为Web服务领域的重要组成部分,促进了服务导向架构...
SOAP协议基于XML(Extensible Markup Language),确保了数据的可读性和机器可解析性。它允许开发者构建跨平台、跨语言的服务,使得任何支持HTTP或SMTP等网络协议的设备都能进行通信。 **2. SOAP消息结构** 一个...
HTTP协议的主要特点有无状态、简单快速、灵活和可扩展性等。 SOAP(Simple Object Access Protocol),简单对象访问协议,是一种轻量级的、独立于语言的、基于XML的协议,用于在Web服务中交换结构化和类型化的信息...
### 浅谈SOAP协议 #### 一、为什么需要SOAP? 随着信息技术的发展,现代企业的信息化建设面临着日益复杂的挑战。为了应对这种复杂性,企业需要构建一套兼容性强、支持多平台、多系统的解决方案。这意味着信息系统...
SOAP 1.1 和 SOAP 1.2 区别详解 SOAP(Simple Object Access Protocol)是一种基于 XML 的轻量级协议,用于在网络上进行数据交换。...这些变化体现了 SOAP 协议的发展和完善,提高了协议的可读性和可扩展性。
SOAP协议的可扩展性体现在它允许添加自定义的头和编码规则,以适应各种应用场景。然而,由于SOAP消息通常是XML格式,因此相比其他轻量级的消息传递方式(如REST),它可能具有更大的体积和更低的效率。尽管如此,...
SOAP(Simple Object Access Protocol)是一种基于XML的网络通信协议,用于在不同的应用程序之间交换结构化信息。...同时,这也是深入学习SOAP协议和C语言编程的一个好机会,有助于提升网络通信和XML处理的技能。
2. **简单**:SOAP协议的设计目标是保持简单,以便于实现和使用。它提供了一个基本的消息结构,可以承载任何类型的业务逻辑或数据。 3. **传输中立**:SOAP消息可以通过多种传输机制发送,最常见的是HTTP,但也可以...
SOAP协议主要包含了以下几个核心概念: 1. **SOAP消息**:SOAP消息是通过HTTP或SMTP等传输协议发送的基本单元,它是一个XML文档,包含头部(Header)和主体(Body)两部分。头部可以包含额外的信息,如安全、路由等...
HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端和服务器之间数据交换的格式和交互规则。...理解并熟练掌握这些协议和技术,对于开发和维护高质量的Web服务至关重要。
SOAP协议是一种基于XML的协议,用于在分布式环境中交换结构化信息。在网络游戏的上下文中,SOAP允许游戏服务器和客户端通过Web服务接口进行交互。SOAP消息通常包含三部分:一个XML封装头,用于传递元数据;一个消息...
SOAP的这一特性吸引了众多软件厂商,如CORBA和COM的供应商承诺支持SOAP协议。同时,DevelopMentor等公司开发了参考实现,使得Java和Perl等语言的开发者能够在任何平台上使用SOAP。此外,SOAP还促进了Web服务的发展,...
下面给出一个具体的SOAP消息示例,以展示SOAP如何在HTTP协议中被嵌入和传输: **请求消息** ```xml POST /stockquote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-...
在实际开发中,了解和掌握SOAP协议及其相关工具,如gSOAP,对于构建和消费Web服务至关重要。这包括理解XML结构、WSDL语法,以及如何使用gSOAP等工具自动生成客户端和服务端代码。同时,测试客户端的创建和使用可以...
SOAP协议不涉及具体的编程模型或特定语义的实现,而是通过定义标准组件的包模型和数据编码规则,使得它能应用于多种系统,从消息传递到远程过程调用(RPC)。 SOAP协议由三个主要部分组成: 1. **SOAP封装**:这...