热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

javasoap请求(调用webservice的方法)

-1{baos.write;baos.flush(;}responseDatabaos.toByteArray(;}catch{thrownewIO


基于SOAP协议的WEB服务调用方法:


importorg.Apache.com mons.lang.stringescapeutils;


import org.apache.log4j.Logger;


//*


*web服务请求


* @param xmlStr


* @return


* @throws Exception


*/


publicstaticstringcallxml (字符串xmlstr,字符串soap地址) throws IOException {


//地址


URL URL=newurl (soap地址;


//调用方法


String soapActiOnString=' ';


logger.info ('请求soap地址: ' soap地址);


logger.info (要求' soap action:' soap action string );


//打开链接


httpurlcOnnectioncon=(httpurl connection ) url.openConnection );


logger.info ('请求消息: ' xmlStr );


设置头部信息


con.setrequestmethod(post );


con.setrequestproperty (' content-type ',' text/xml; charset=UTF-8 ';


con.setrequestproperty (' content-length ',string.valueof ) xmlstr.getbytes ).length );


con.setrequestproperty (' soap action ',soapActionString );


//post请求需要设置


con.setdooutput(true;


con.setdoinput(true;


//向请求body写入xml以设置请求参数。


打印机写入器out=null;


byte[] respOnseData=null;


bytearrayoutputstreambaos=newbytearrayoutputstream (;


try {


out=new printwriter (newoutputstreamwriter (con.get output stream )、' utf-8 ' )


//发送请求参数


out.print(xmlstr;


out.flush (;


//设置响应返回的信息


inputstream IPS=con.get inputstream (;


byte[] buf=new byte[1024];


int length=0;


while((Length=IPS.read ) ) buf )!=-1 ()


BaoS.write(buf,0,length );


baos.flush (;


}


respOnseData=baos.toByteArray (;


}catch(ioexceptione ) {


thrownewioexception(e;


} finally {


if (出局!=空) {


out.close (;


}


try {


baos.close (;


}catch(ioexceptione ) {


thrownewioexception(e;


}


con.disconnect (;


}


//处理写入响应信息


stringrespOnsemess=new string (响应数据,' utf-8 ';


响应消息=stringescapeutils.unescape html (响应消息);


logger.info ('响应代码: ' con.getresponse代码) );


logger.info (响应消息:“响应消息”);


返回响应消息;


}


标签:呼叫、Java、web服务、请求、new、xmlStr、con、out、String


资料来源: https://www.cn blogs.com/benben cyb/p/14468786.html


推荐阅读
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 本文介绍了如何在 MapReduce 作业中使用 SequenceFileOutputFormat 生成 SequenceFile 文件,并详细解释了 SequenceFile 的结构和用途。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Android与JUnit集成测试实践
    本文探讨了如何在Android项目中集成JUnit进行单元测试,并详细介绍了修改AndroidManifest.xml文件以支持测试的方法。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • mysql数据库json类型数据,sql server json数据类型
    mysql数据库json类型数据,sql server json数据类型 ... [详细]
  • spring(22)JdbcTemplate
    2019独角兽企业重金招聘Python工程师标准###1.导入jar包,必须jar包:c3p0、mysql-connector、beans、con ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 深入解析MyBatis的高级映射技术
    在前一章节中,我们探讨了MyBatis的基本对象映射方法,其中对象属性与数据库表字段之间实现了直接的一对一映射。然而,在实际开发中,这种简单的映射方式往往难以满足复杂业务需求。本文将深入分析MyBatis的高级映射技术,介绍如何通过配置和注解实现更为灵活的对象与数据库表之间的映射关系,包括嵌套结果、联合查询和动态SQL等高级功能,以提高开发效率和代码可维护性。 ... [详细]
  • 如何理解MyBatis动态SQL
    本篇内容主要讲解“如何理解MyBatis动态SQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解M ... [详细]
author-avatar
刺猬xiaojie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有