Java调用WebService客户端四种方式详解
需积分: 34 133 浏览量
更新于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 上传
2023-06-07 上传
2023-05-25 上传
2023-05-28 上传
2024-10-28 上传
2023-03-16 上传
2023-09-13 上传
cxtsm0210
- 粉丝: 0
- 资源: 3
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析