最近,项目中用到soap请求,下面是例子
/** * soap请求 * * @return * @throws Exception */ public static String invokeMethod(Object data) throws Exception { // 创建连接 SOAPConnectionFactory soapConnFactory = SOAPConnectionFactory.newInstance(); SOAPConnection soapConn = soapConnFactory.createConnection(); // 创建消息对象 MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); // 创建soap消息主体 SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); SOAPBody body = soapEnvelope.getBody(); // 根据要传给mule的参数,创建消息body内容 SOAPElement bodyElement =body.addChildElement(soapEnvelope.createName("amsPortal", "ns2875","http://tempuri.org")); bodyElement.addChildElement("secret").addTextNode("true"); bodyElement.addChildElement("command").addTextNode("OracleCli"); SOAPElement argsElement = bodyElement.addChildElement("args"); argsElement.addChildElement("ConnStr").addTextNode("192.168.40.175:1521/orcl"); argsElement.addChildElement("User").addTextNode("mtis"); argsElement.addChildElement("Pass").addTextNode("mtis"); soapMessage.saveChanges(); // soapMessage = saveSoapChage(data, soapEnvelope, body, soapMessage); /* * 实际的消息是使用 call()方法发送的,该方法接收消息本身和目的地作为参数,并返回第二个 SOAPMessage 作为响应。 * call方法的message对象为发送的soap报文,url为mule配置的inbound端口地址。 */ URL url = new URL("http://192.168.200.236/soap/soap_server_pro.php"); // 响应消息 SOAPMessage reply = soapConn.call(soapMessage, url); // 创建soap消息转换对象 TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); // 提取消息内容 Source sourceContent = reply.getSOAPPart().getContent(); //输出流 ByteArrayOutputStream out = new ByteArrayOutputStream(); StreamResult result = new StreamResult(out); //sourceContent实现此接口的对象包含充当源输入(XML 源或转换指令)所需的信息 //result充当转换结果的持有者,可以为 XML、纯文本、HTML 或某些其他格式的标记 transformer.transform(sourceContent, result); //返回结果 String xmlData = new String(out.toByteArray()); // xml解析 xmlData = parserXml(data, xmlData); //输出到控制台 System.out.println(xmlData); //关闭连接 soapConn.close(); return xmlData; }
相关推荐
Java调用SOAP(Simple Object Access Protocol)接口是Web服务交互中的常见操作,SOAP是一种基于XML的协议,用于在Web上交换结构化的和类型化的信息。本案例主要关注如何使用Java来实现SOAP请求并获取响应,具体我们...
在Java中,我们可以使用SAX或DOM API来解析和构建SOAP消息。DOM API允许我们直接操作XML文档的节点,而SAX则采用事件驱动的方式处理XML流。 2. **Servlet作为SOAP客户端** - 发送SOAP请求:Servlet可以使用`java...
本文将深入探讨如何在Java环境中构建和发送SOAP消息,同时也会提及到与给定的文件相关的编程概念。 首先,我们来看`Transporter.java`这个文件。通常情况下,`Transporter`类会扮演一个角色,负责处理HTTP传输和...
为了确保广泛的兼容性和可访问性,Lab Manager SOAP API遵循SOAP规范,支持各种开发平台,包括.NET、Java和其他使用SOAP作为通信协议的环境。 #### SOAP API安全性 安全性是Lab Manager SOAP API的重要组成部分。...
- `SOAPConnectionFactory`和`SOAPConnection`用于建立SOAP连接,发送和接收SOAP消息。 3. **WSDL(Web Service Description Language)**: - WSDL是SOAP服务的接口定义语言,它描述了服务的位置、使用的消息...
javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 ...
2. **WSDL(Web Services Description Language)**:SOAP Web服务通常由WSDL文件定义,这是一个XML文档,用于描述服务接口、操作、消息格式和绑定。Java开发者可以使用WSDL文件来生成客户端和服务端的代码。 3. **...
本文旨在深入讨论SAAJ(SOAP with Attachments API for Java)和JAXM(Java API for XML Messaging)这两个关键API在Java Web服务开发中的应用。为了更好地理解本文内容,读者应当对SOAP 1.1的基本规范有初步了解,...
在Java中,SAAJ(SOAP with Attachments API for Java)和JAXB(Java Architecture for XML Binding)是处理SOAP消息的重要工具。SAAJ用于构建和解析SOAP消息,而JAXB则负责XML与Java对象之间的转换。 在实际开发中...
描述:ArcGIS Server SOAP API是一种强大的工具,允许开发者通过简单对象访问协议(SOAP)来访问和操作ArcGIS Server提供的多种GIS服务。这包括地图服务、地理编码服务、网络分析服务等,使得跨平台、跨语言的GIS...
3. **SOAP与Java的结合**:Java是广泛用于开发Web服务的编程语言,Java SOAP库如JAX-WS(Java API for XML Web Services)使得开发者可以轻松创建和消费SOAP Web服务。通过Java,你可以定义服务接口,编译为WSDL...
JAVA输出SOAP报文详解 SOAP(Simple Object Access Protocol)是一种基于XML的...输出SOAP报文是JAVA编程中的一种重要技术,通过使用SOAP API,可以轻松地创建、处理和转换SOAP报文,以便与其他系统进行交互和集成。
这个压缩包文件“SOAP实例程序,实现Java发送SOAP信息.rar”显然是一个Java项目,展示了如何使用Java来创建并发送SOAP消息。在本文中,我们将深入探讨SOAP协议、Java中的SOAP客户端实现以及与C#相关的上下文。 1. *...
在Java中,通常使用JAX-WS(Java API for XML Web Services)来处理SOAP消息,它提供了一种标准的方式来创建和消费Web服务。 4. **SOAP服务实现**:在Java中,可以通过实现一个接口或者继承特定的类来创建SOAP服务...
### SOAP API知识点详解 ...这些方法提供了对路由器配置和状态管理的重要支持,可以帮助开发者更好地理解和操作路由器的各种功能。通过合理利用这些API,可以实现自动化网络配置和监控,提高网络管理效率。
在提供的压缩包文件中,`05_soap`可能包含关于如何创建和发送SOAP消息的示例代码,`06_wsdl_client`和`05_soap_client`可能是SOAP客户端的实现,`06_wsdl`可能是一个或多个WSDL文档,用于描述服务接口。通过这些文件...
Java中的`javax.xml.soap`包提供了SOAPMessage、SOAPPart、SOAPEnvelope、SOAPHeader和SOAPBody等类,用于直接操作SOAP消息。 4. **处理SOAP响应**: 客户端接收到SOAP响应后,可以通过解析SOAPBody获取返回的...
在调用SOAP服务前,你需要一个WSDL文件,它定义了服务的接口、操作、消息格式和绑定信息。你可以通过WSDL URL获取此文件。 ### 3. 使用JAX-WS(Java API for XML Web Services) JAX-WS是Java平台上的标准API,用于...
javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 API。 ...
Java中的SOAP实现通常依赖于JAX-WS(Java API for XML Web Services)框架,它提供了一种简单的方式来创建和消费SOAP服务。JAX-WS包括几个关键组件:Service端点接口(SEI)、服务实现、WSDL(Web服务描述语言)和...