最近,项目中用到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服务的接口定义语言,它描述了服务的位置、使用的消息...
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的基本规范有初步了解,...
javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 ...
在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...
在Java中,我们通常使用JAX-WS(Java API for XML Web Services)来创建和处理SOAP消息。JAX-WS允许你通过注解来定义服务接口和服务实现,以及客户端调用这些服务的方式。以下是一些关键的Java类和接口,用于操作...
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。 ...