1.java soap api操作和发送soap消息[通俗易懂]

1.java soap api操作和发送soap消息[通俗易懂]转自:https://blog.csdn.net/lbinzhang/article/details/847213591。

大家好,又见面了,我是你们的朋友全栈君。

转自:https://blog.csdn.net/lbinzhang/article/details/84721359

1。

 1 /**  2  * soap请求  3  *  4  * @return  5  * @throws Exception  6 */  7 public static String invokeMethod(Object data) throws Exception {  8 // 创建连接   9 SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance(); 10 SOAPConnection soapConn = soapConnFactory.createConnection(); 11 // 创建消息对象  12 MessageFactory messageFactory = MessageFactory.newInstance(); 13 SOAPMessage soapMessage = messageFactory.createMessage(); 14 // 创建soap消息主体  15 SOAPPart soapPart = soapMessage.getSOAPPart(); 16 SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); 17 SOAPBody body = soapEnvelope.getBody(); 18 // 根据要传给mule的参数,创建消息body内容  19 SOAPElement bodyElement =body.addChildElement(soapEnvelope.createName("amsPortal", "ns2875","http://tempuri.org")); 20 bodyElement.addChildElement("secret").addTextNode("true"); 21 bodyElement.addChildElement("command").addTextNode("OracleCli"); 22 SOAPElement argsElement = bodyElement.addChildElement("args"); 23 argsElement.addChildElement("ConnStr").addTextNode("192.168.40.175:1521/orcl"); 24 argsElement.addChildElement("User").addTextNode("mtis"); 25 argsElement.addChildElement("Pass").addTextNode("mtis"); 26  soapMessage.saveChanges(); 27 28 // soapMessage = saveSoapChage(data, soapEnvelope, body, soapMessage);  29 /* 30  * 实际的消息是使用 call()方法发送的,该方法接收消息本身和目的地作为参数,并返回第二个 SOAPMessage 作为响应。 31  * call方法的message对象为发送的soap报文,url为mule配置的inbound端口地址。 32 */ 33 URL url = new URL("http://192.168.200.236/soap/soap_server_pro.php"); 34 // 响应消息  35 SOAPMessage reply = soapConn.call(soapMessage, url); 36 // 创建soap消息转换对象  37 TransformerFactory transformerFactory = TransformerFactory.newInstance(); 38 Transformer transformer = transformerFactory.newTransformer(); 39 // 提取消息内容  40 Source sourceContent = reply.getSOAPPart().getContent(); 41 //输出流  42 ByteArrayOutputStream out = new ByteArrayOutputStream(); 43 StreamResult result = new StreamResult(out); 44 //sourceContent实现此接口的对象包含充当源输入(XML 源或转换指令)所需的信息 45 //result充当转换结果的持有者,可以为 XML、纯文本、HTML 或某些其他格式的标记  46  transformer.transform(sourceContent, result); 47 //返回结果  48 String xmlData = new String(out.toByteArray()); 49 // xml解析  50 xmlData = parserXml(data, xmlData); 51 //输出到控制台  52  System.out.println(xmlData); 53 //关闭连接  54  soapConn.close(); 55 return xmlData; 56 } 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154370.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • burpsuite 越权_自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数…

    burpsuite 越权_自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数…IDOR(越权)漏洞:也称为“不安全的直接对象引用”,当用户请求访问内部资源或基于用户提供的输入对象进行访问,服务器未执行合理的权限验证时,发生当前用户可以未经授权访问不属于其帐户权限的资源或数据。我们可以在BurpSuite插件库Bapp中安装Autorize和Autorepeater:使用Autorize发现IDOR漏洞让我们先来看一下“Autorize”。对于客户端发送的任何请求,它将执行…

  • java变量设置_如何正确的配置JAVA环境变量

    java变量设置_如何正确的配置JAVA环境变量原创:YiKiA2Data什么是环境变量?环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。为什么要配置环境变量?为了方便在控制台编译和运行java程序,不必进入到java的程序目录里面去运行。这样你放在任何目录下的java程序文件都可以编译运行,而不是必须把这个程序文件放在java.exe和javac.exe所在的目录下。什么是JAVA_HOME…

  • readprocessmemory函数库_read_csv函数

    readprocessmemory函数库_read_csv函数ReadProcessMemory函数ReadProcessMemory函数功能描述:该函数用来读取指定进程的空间的数据,此空间必须是可以访问的,否则读取操作会失败!函数原型BOOLReadProcessMemory(HANDLEhProcess,//目标进程句柄LPCVOIDlpBaseAddress,//读取数据的起始地址LPVOIDlpBuffer,//存放数据的缓存区地址DW…

  • Xpath、Jsoup、Xsoup(我的Java爬虫之二)

    Xpath、Jsoup、Xsoup(我的Java爬虫之二)

  • navicat premium 15 激活【2021免费激活】

    (navicat premium 15 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html0VOERWDQ5R-eyJsa…

  • 最全java面试题及答案(208道)「建议收藏」

    最全java面试题及答案(208道)「建议收藏」本文分为十九个模块,分别是:「Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringCloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM」,如下图所示:共包含208道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。Java基础1.JDK和JRE有什么区别?…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号