java soap wsdl 实例_SOAP与WSDL详解

SOAP是我们Web Service中很常见的一个协议,SOAP确定了一种通过XML实现跨语言、跨机器传输调用的协议,WSDL更像是所提供服务的一个规范、一个文档,本篇文章介绍梳理一下他们的规则与逻辑,更好的认识一下SOAP协议及WSDL描述文件。

SOAP简单对象访问协议

SOAP(Simple Object Access Protocol)简单对象访问协议是交换数据的一种规范,在Web Service中,交换带结构信息。可基于HTTP等协议,使用XML格式传输,抽象于语言实现、平台和硬件。即多语言包括PHP、Java、.Net均可支持。

优点是跨语言,非常适合异步通信和针对松耦合的C/S,缺点是必须做很多运行时检查。

相关概念

SOAP封装(envelop),定义了一个框架,描述消息中的内容是什么,是谁发送的,谁应当接受并处理。

SOAP编码规则(encoding rules),定义了一种序列化的机制,表示应用程序需要使用的数据类型的实例。

SOAP RPC表示(RPC representation),定义了一个协定,用于表示远程过程调用和应答。

SOAP绑定(binding),定义了SOAP使用哪种协议交换信息。使用HTTP/TCP/UDP协议都可以。

基本结构

示例:

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

...

...

...

...

...

...

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

...

...

...

...

...

...

一条SOAP消息就是一个普通的XML文档,Envelope元素与Body元素(包含调用和响应信息)必须存在,Header元素(包含头部信息)和Fault元素(提供有关在处理此消息所发生的错误的信息)可以作为可选存在

SOAP Envelope元素

SOAP消息的根元素,可把XML文档定义为SOAP消息

命名空间

xmlns:SOAP命名空间,固定不变。

SOAP在默认命名空间中定义了3个属性:ac

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是简单实用java调用WSDL接口,并解析返回数据格式的步骤: 1. 打开Eclipse,新建一个Java项目(例如:WsdlDemo)。 2. 在该项目下新建一个包(例如:com.demo),并在该包下新建一个类(例如:WsdlClient)。 3. 在该类中加入以下代码: ```java package com.demo; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; public class WsdlClient { public static void main(String[] args) throws Exception { URL url = new URL("http://localhost:8080/HelloService?wsdl"); // WSDL文档地址 QName qname = new QName("http://demo.com/", "HelloServiceImplService"); // 服务名称和命名空间 Service service = Service.create(url, qname); HelloService hello = service.getPort(HelloService.class); // 获取服务实现类 String result = hello.sayHello("world"); // 调用服务方法 System.out.println(result); // 输出服务结果 } } ``` 4. 在该类同一级目录下新建一个接口(例如:HelloService),并在该接口中定义要调用的服务方法: ```java package com.demo; import javax.jws.WebMethod; import javax.jws.WebService; @WebService public interface HelloService { @WebMethod String sayHello(String name); } ``` 5. 在Eclipse中右键单击项目,选择Build Path -> Configure Build Path,在弹出的窗口中选择Libraries标签页,然后点击Add External JARs按钮,选择从本地下载的JAX-WS相关jar包(例如:jaxws-api.jar、jaxb-api.jar),并点击OK按钮,将这些jar包添加到项目中。 6. 运行该程序,可以看到输出了从服务端返回的结果。 至此,简单实用java调用WSDL接口,并解析返回数据格式的步骤就完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值