Java调用WebService客户端四种方式详解
需积分: 34 170 浏览量
更新于2024-09-10
1
收藏 47KB DOC 举报
Java 调用 WebService 客户端
Java 调用 WebService 客户端是指使用 Java 语言来调用远程的 WebService,实现与服务端的交互。WebService 客户端可以使用不同的协议来进行调用,包括 GET、POST、SOAP 和 CXF 等方式。
1. GET 协议
在 GET 协议中,参数将被追加到 HTTP 请求的 URL 中,格式为:?name1=value1&name2=value2。返回值将被当做简单的 XML 文档放入 HTTP 响应的正文中(没有 `<soap:Envelope>`)。例如:
```java
URL url = new URL("http://example.com/webservice");
URLConnection connection = url.openConnection();
connection.setRequestMethod("GET");
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String response = reader.readLine();
```
2. POST 协议
在 POST 协议中,参数将被传递到 HTTP 请求的正文中,格式为:name1=value1&name2=value2。返回值将被当做简单的 XML 文档放入 HTTP 响应的正文中(没有 `<soap:Envelope>`)。例如:
```java
URL url = new URL("http://example.com/webservice");
URLConnection connection = url.openConnection();
connection.setRequestMethod("POST");
OutputStream outputStream = connection.getOutputStream();
outputStream.write("name1=value1&name2=value2".getBytes());
outputStream.flush();
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String response = reader.readLine();
```
3. SOAP 协议
在 SOAP 协议中,SOAP 消息将被发送到 HTTP 请求的正文中,SOAP 响应将被发送到 HTTP 响应的正文中。例如:
```java
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient("http://example.com/webservice");
client.invoke(" methodName", "arg1", "arg2");
```
4. CXF 协议
CXF(Apache CXF)是一种基于 Java 的WebService 框架,提供了丰富的功能来调用 WebService。例如:
```java
import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient("http://example.com/webservice");
client.invoke("methodName", "arg1", "arg2");
```
在使用 CXF 调用 WebService 时,需要添加以下依赖项:
```xml
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.4.5</version>
</dependency>
```
通过上述方式,可以使用 Java 语言来调用远程的 WebService,实现与服务端的交互。
2018-02-02 上传
2021-11-25 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-25 上传
2021-12-18 上传
cxtsm0210
- 粉丝: 0
- 资源: 3
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍