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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python百度文库怎么免费下载文档(python编程是啥)

    每天早晨8点50分,准点开车打卡今天跟大家推荐一个简单实用的下载百度积分文档方法。虽然现在很多人都很少用百度文库中的东西了,不过后台还是经常收到一些读者留言,求帮忙下载百度文档或者请教如何才能免下载券下载。其实下载百度文库的方法,我很久之前就推荐过给大家了,可能你不记得了,推荐个免费的积分文档下载神器。这篇文章是推荐你使用冰点下载器,就可以自由下载百度,豆丁,畅享,mbalib,hp009,…

    2022年4月13日
    35
  • Flask 的 jsonify 理解[通俗易懂]

    Flask 的 jsonify 理解[通俗易懂]文章目录python代码解决原因Content-Type的区别python代码#-*-coding:utf-8-*-fromflaskimportFlask,jsonifyapp=Flask(__name__)urls=[{‘id’:1,’title’:’python’,’descripti…

    2022年5月10日
    47
  • errorcode=-4499 sqlstate=08001_math方法

    errorcode=-4499 sqlstate=08001_math方法java.sql.SQLException:java.lang.ClassCastException:java.math.BigIntegercannotbecasttojava.lang.Long

    2022年9月10日
    0
  • springboot启动成功访问404_springboot启动执行

    springboot启动成功访问404_springboot启动执行今天在做一个springboot项目的时候,是接着别人的项目写的,写完之后想做一下测试,于是就启动了springboot,然后在放问的时候,一直包404的错误,然后百度了一下网上给的方法,包括注解使用@RestController,然后去除掉方法@RequestMapping(value="/add")中的“value=”,这个方法对我无用,因为我的项目之前就是用的@RestC…

    2022年10月13日
    0
  • WINHTTP的API接口说明。

    WINHTTP的API接口说明。

    2021年12月4日
    119
  • matlab绘制二元函数图像z=1/(1-x^2)+y^2_python画二元二次函数图像

    matlab绘制二元函数图像z=1/(1-x^2)+y^2_python画二元二次函数图像MATLAB内置有强大的绘图功能,以下将以几个实例进行说明。绘制三维参数曲线t=-5:0.1:5;%设定参数范围theta=0:0.02*pi:2*pi;%注意如果有两个参数的话,它们的维数必须统一x=sqrt(1+t.^2).*cos(theta);%注意乘方和乘法的写法y=sqrt(1+t.^2).*sin(theta);z=2*t;%设定参数方程plot3(x,y,z,’-g’);%绘图,最后一个选项为颜色,绿色title(‘参数曲线’);%添加标题效果:可以拖动图片从不同

    2022年9月7日
    0

发表回复

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

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