当前位置: 首页 > news >正文

Java调用WebService接口,SOAP协议HTTP请求返回XML对象

Java调用Web service接口SOAP协议HTTP请求,解析返回的XML字符串:

1. 使用Java的HTTP库发送SOAP请求,并接收返回的响应。

可以使用Java的HttpURLConnection、Apache HttpClient等库。

2. 将返回的响应转换为字符串。

3. 解析XML字符串,可以使用Java的DOM解析器或者其他第三方库,如JDOM、DOM4J等。

4. 解析XML数据,提取需要的信息。

参考代码如下:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;public class SOAPClient {public static void main(String[] args) {try {// 创建SOAP请求的XML数据String soapRequest = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://www.demo.com\">\n"+ "   <soapenv:Header/>\n"+ "   <soapenv:Body>\n"+ "      <web:YourMethodName>\n"+ "         <web:Parameter1Name>parameter1Value</web:Parameter1Name>\n"+ "      </web:YourMethodName>\n"+ "   </soapenv:Body>\n"+ "</soapenv:Envelope>";// 发送SOAP请求,并接收返回的响应String endpoint = "http://localhost:8080/demo_webservice"; // Webservice的URLHttpURLConnection connection = (HttpURLConnection) new URL(endpoint).openConnection();connection.setRequestMethod("POST");connection.setRequestProperty("Content-Type", "text/xml;charset=UTF-8");connection.setRequestProperty("SOAPAction", "http://www.demo.com/demoMethodName"); // SOAPAction必须指定connection.setDoOutput(true);OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream());osw.write(soapRequest);osw.flush();BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));StringBuilder sb = new StringBuilder();String line;while ((line = br.readLine()) != null) {sb.append(line);}br.close();connection.disconnect();String soapResponse = sb.toString();// 解析XML字符串DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();Document document = documentBuilder.parse(soapResponse);// 提取需要的信息// . . .} catch (IOException | ParserConfigurationException | SAXException e) {e.printStackTrace();}}
}

通过上述示例代码,使用Java的HTTP库发送SOAP请求,并接收返回的响应,然后将返回的响应

转换为字符串。

接下来,可以使用Java的DOM解析器或其他第三方库解析XML字符串,提取需要的信息

需要将示例代码中的http://localhost:8080/demo_webservice替换为实际的Web service的

URL,并将SOAP请求的XML数据、SOAPAction、以及需要提取的信息进行相应的替换

http://www.lryc.cn/news/285651.html

相关文章:

  • Django框架二
  • 工业相机与镜头参数及选型
  • VSCode使用Makefile Tools插件开发C/C++程序
  • 用C语言验证“三门定理”
  • 计算机网络-分层结构,协议,接口,服务
  • 前端开发 2: CSS
  • 嵌入式-Stm32-江科大基于标准库的GPIO4个小实验
  • HackTheBox - Medium - Linux - Noter
  • Uniapp多选Popup(弹出层)
  • 什么是网络安全?网络安全概况
  • c语言小游戏之扫雷
  • 如何本地安装Python Flask并结合内网穿透实现远程开发
  • 在线App封装技术:HTML5的新生命
  • Spring Boot 4.0:构建云原生Java应用的前沿工具
  • Debian系统写Mysql时中文出现乱码无法定入的问题解决方案
  • CPMS靶场练习
  • CTFhub-bak文件
  • 本地部署轻量级web开发框架Flask并实现无公网ip远程访问开发界面
  • 面试题-MySQL如何定位慢查询
  • 【C++PCL】点云处理K-Means点云分割
  • 代码随想录算法训练DAY25|回溯2
  • hanlp,pkuseg,jieba,cutword分词实践
  • 一个简单的Vue实例
  • 【GoLang入门教程】Go语言几种标准库介绍(八)
  • [系统安全] 五十四.恶意软件分析 (6)PE文件解析及利用Python获取样本时间戳
  • kafka入门(九):副本
  • 【5G 接口协议】N2接口协议NGAP(NG Application Protocol)介绍
  • 2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 模块二
  • Python自动化我选DrissionPage,弃用Selenium
  • MQ 消息丢失、重复、积压问题,如何解决?