`
斐斐宝贝
  • 浏览: 8427 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

java soap api操作和发送soap消息

 
阅读更多

最近,项目中用到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接口案例

    1,利用java调用soap接口获取天气的信息;2,利用java调用soap一个特定的案例,可按自己的要求修改。

    JAVA_API1.6文档(中文)

    javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 ...

    Java 1.6 API 中文 New

    javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 API。 ...

    Java SOAP协议

    本文主要是探讨SAAJ(SOAP with Attachment API for Java),JAXM(Java API for XML Messaging),了解SOAP在j2ee开发中的作用与其接口。JAXM和SAAJ均支持针对B2B和Web服务应用程序、基于XML的消息交换,支持诸多行业...

    soapAPI,包括所以方法名和参数

    soapAPI,包括所以方法名和参数,告诉开发者怎样调用soapAPI里面的方法。

    jakarta.xml.soap-api-1.4.2.zip

    jakarta.xml.soap-api-1.4.2.jar jakarta.xml.soap-api-1.4.2-javadoc.jar jakarta.xml.soap-api-1.4.2-sources.jar

    JavaAPI1.6中文chm文档 part1

    javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 ...

    java api最新7.0

    javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 API。 ...

    cxf-rt-bindings-soap-3.0.1-API文档-中文版.zip

    标签:cxf、rt、apache、bindings、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    JavaAPI中文chm文档 part2

    javax.xml.soap 提供用于创建和构建 SOAP 消息的 API。 javax.xml.stream javax.xml.stream.events javax.xml.stream.util javax.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 ...

    maventa-java-client:为 maventa soap API 生成的 java 客户端

    为 maventa soap API 生成的 java 客户端 建造 mvn clean deploy 将以下内容添加到 maven <id>maventa-java-client-repo <url>...

    jasper-soap-api:适用于中国联通的Jasper Soap API工具

    jasper-soap-api-tools 适用于中国联通的Jasper Soap API工具。

    java rest api入门实例

    目前在三种主流的Web服务实现方案中,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。例如,Amazon.com提供接近REST风格的Web服务进行图书查找...

    java webservice 详细开发示例介绍

    早期的基于 SOAP 的 JAVA 的 Web 服务规范 JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS规范取代,JAX-WS 是JAX-RPC 的演进 ...置公开的Web服务的相关信息和配置 SOAP 消息的相关信息。

    Java Web服务构建与运行(高清中文版).part2.rar

     1.8 Java SOAP编程API  1.9 带有复杂数据类型的Web服务  1.10 多线程端点服务发布程序  1.11 下一章 第2章 全面了解WSDL  2.1 WSDL在Web服务中的作用  2.2 WSDL文档结构 36  2.3 Amazon E-Commerce ...

    Java Web服务构建与运行(高清中文版).part1.rar

     1.8 Java SOAP编程API  1.9 带有复杂数据类型的Web服务  1.10 多线程端点服务发布程序  1.11 下一章 第2章 全面了解WSDL  2.1 WSDL在Web服务中的作用  2.2 WSDL文档结构 36  2.3 Amazon E-Commerce ...

    技巧:用JAX-RPC发送与接收SOAP消息

    北京在本技巧中,IBM开发人员RussellButek向我们介绍了JAX-RPC,这是一种JavaAPI,有了它,应用程序不需要理解SOAP消息传递协议的细节,就可以与Web服务通信。Web服务的基础之一是互操作性。意思是说Web服务相互之间...

Global site tag (gtag.js) - Google Analytics