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     }  

 

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

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

(0)
上一篇 2022年7月4日 下午2:16
下一篇 2022年7月4日 下午2:36


相关推荐

  • 【mysql】mysql删除重复记录并且只保留一条

    【mysql】mysql删除重复记录并且只保留一条目录一、单个字段的操作分组介绍:1.查询全部重复的数据:2.删除全部重复试题:3.查询表中多余重复试题(根据depno来判断,除了rowid最小的一个)a.第一种方法:b.第二种方法:c.补充第三种方法(根据评论区给的删除总结出来的):4.删除表中多余重复试题并且只留1条:a.第一种方法:b.☆第二种方法(与上面查询的第二种方法对应,只…

    2022年6月24日
    58
  • Jmeter 安装篇

    Jmeter 安装篇Jmeter安装篇Jmeter的安装其实很简单,网上的资料也很多。这里不多说了,直接上步骤。Step1:安装JDK最好安装1.6版本以上的,如果本地安装了JDK那就查看一下是否配置了环境变量。(Jmeter是用java开发的,它的运行依赖于java环境)有关环境变量的配置,请自行百度。网上图文教程还是非常丰富的。Step2:下载Jmeterhttp://jme

    2022年5月8日
    44
  • 情感词典构建_晦涩情感词典

    情感词典构建_晦涩情感词典看到一篇文章写的很清楚简洁,直接转了。————————————————————————————————————————某主席说,“没有情感词典的“使用该情感词典进行情感分析”都是耍流氓。”某帝说,“要有情感词典。”

    2022年8月23日
    9
  • Pycharm安装库方法(基础)

    Pycharm安装库方法(基础)进入 Settings 打开选项卡 库右侧有一个加号 点击加号在输入框里搜索要安装的库就行 已经安装过的颜色会改变 点击会出现这里面是一些常用库的下载地址 可以自己添加附上我的常用地址 http mirrors aliyun com pypi simple https pypi tuna tsinghua edu cn simple 以上 就是 Pycharm 安装库的

    2026年3月27日
    1
  • 微信小程序之导航滑块视图容器

    微信小程序之导航滑块视图容器先看效果图 这个滑块除了可以点击上方的导航 还可以左右切换页面 随之导航也跟这切换 实现步骤 编写滑块视图代码编写逻辑代码 wxml viewclass content viewclass title viewclass currentTab 0 select default data current 0 bindtap switchNav 关注 viewclass currentTab 0 select default data current 0 bindtap switchNav viewclass title viewclass content

    2026年3月19日
    3
  • Vue学习之自定义指令「建议收藏」

    Vue学习之自定义指令「建议收藏」Vue学习之自定义指令

    2022年4月23日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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