Java传xml时字符串乱码_php调用java传递xml字符串乱码怎么办
php调用java传递xml字符串乱码的解决办法:首先使用CURL在命令行中完成请求;然后将调用接口时的【Content-Type:application/json】改成【application/xml】即可。
php调用java传递xml字符串乱码的解决办法:
这两个工作需要,给一个php同事提供java接口,参数内容:
1348831860
1234567890123456
request header:
method:POST。
由于客观原因,不能直接调用,所以自测接口时用的postman,接口调用一切正常。BUT,上线以后,测试时一直报
org.dom4j.DocumentException: Error on line 1 of document : 前言中不允许有内容。 Nested exception: 前言中不允许有内容。
但是日志输出:
标签中多了转义字符,使用正则替换:xml.replaceAll("
但是上面的异常信息还在。。。。。。
网上几乎一致的解决方案:用编辑器打开另存为,修改编码格式。程序怎么会这么搞!!!
在同事的协助下,使用CURL 在命令行中请求:curl -X POST
http://localhost:21010/wx_reply/reply2User
-H 'cache-control: no-cache'
-H 'content-type: application/xml'
-H 'postman-token: 08ae772c-7891-aaa2-01ef-30dccf5ffac0'
-d '
1348831860
1234567890123456
'
发现参数实际是:%3Cxml%3E%0A%3CToUserName%3E%3C%21%5BCDATA%5Bwxcc878e3a91463bb5%5D%5D%3E%3C%2FToUserName%3E%0A%3CFromUserName%3E%3C%21%5BCDATA%5Bon2BF1J3NBTUCFChovU-CNOs1MxU%5D%5D%3E%3C%2FFromUserName%3E%0A%3CCreateTime%3E1348831860%3C%2FCreateTime%3E%0A%3CMsgType%3E%3C%21%5BCDATA%5Btext%5D%5D%3E%3C%2FMsgType%3E%0A%3CContent%3E%3C%21%5BCDATA%5Bthis+is+a+test%5D%5D%3E%3C%2FContent%3E%0A%3CMsgId%3E1234567890123456%3C%2FMsgId%3E%0A%3CBrandId%3E%3C%21%5BCDATA%5B5%5D%5D%3E%3C%2FBrandId%3E%0A%3CHotelId%3E%3C%21%5BCDATA%5B5%5D%5D%3E%3C%2FHotelId%3E%0A%3C%2Fxml%3E=
也就是说:
spring对request中body的内容进行了encode。使用URLDecode.decode(xml后得到了正常的内容,但发现参数后面多了一个=(看上面的参数)。
最终检查发现:是php同事调用接口时的Content-Type:application/json,改成application/xml后,问题解决了。想了解更多编程学习,敬请关注php培训栏目!
Java传xml时字符串乱码_php调用java传递xml字符串乱码怎么办相关推荐
- mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String
mybatis中传集合时 报异常 invalid comparison: java.util.Arrays$ArrayList and java.lang.String 参考文章: (1)mybati ...
- lajp mysql安装_Php调用java说明
Php调用java说明 (lajp实现) LAJP名称含义 LAJP名称来源于著名的LAMP(Linux,Apache,Mysql,Php),LAMP是轻量级的开发Web程序的环境,在Internet ...
- java 调用 dll 乱码_java调用c++ dll出现中文乱码
最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...
- java dll 乱码_java调用c++ dll出现中文乱码 | 学步园
最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...
- Vue路由传参时,刷新页面,参数将当成字符串来处理?
在练习编程路由导航传参时,发现将 num:10传到积分页面通过computed属性加1变成11,但刷新了本页后并未按照预想的那样, 变为11,而是字符串拼接成了101, 然后,typeof查看传过去的 ...
- c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int,double问题
用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型.double和D ...
- android jni 调用java对象_Android NDK开发之Jni调用Java对象
本地代码中使用Java对象 通过使用合适的JNI函数,你可以创建Java对象,get.set 静态(static)和 实例(instance)的域,调用静态(static)和实例(instance)函 ...
- CORBA 简单了解和JAVA与C++互操以及C++调用Java web service
CORBA了解 CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management ...
- android jni c调用java,Android学习JNI,使用C调用JAVA语言
本节学习使用C语言调用JAVA语言.在生活中比如我们某些底层的硬件必须使用C语言去编写,当C语言返回的某些数值显示在界面上时,就比如使用JNI.这样可以将C返回的值显示在界面上. 本节模拟传感器返回的 ...
最新文章
- Linux课程第十三天学习笔记
- erl0007 - erlang 远程节点连接的两种方式
- 测试架构师的目标和价值
- ITK:关闭二进制图像
- JPA中的@MappedSuperclass
- 物理学家张首晟:如果世界末日来临,我会带这几句话上诺亚方舟|研习社演讲实录...
- Unity WebGL打包微端时遇到的indexedDB加载问题
- CenterOS yum 使用
- nginx 命令_MAC 操作nginx命令
- 统计通话次数和时间的软件_通话时间统计官方版
- java手机号正则校验工具类
- 信号处理第一式——离散信号序列的基本运算及MATLAB实现
- 解决word中公式插入后行间距变大,和文字不统一的问题
- 写好作文批语,激发学生的写作兴趣
- DDR2 sodimm + Flash + Triple-Speed Ethernet + IO in nios
- Python 生成、识别社会统一信用代码
- 多径效应及其消除方法
- C++课程设计(校车订票管理系统)
- sklearn线性回归,支持向量机SVR回归,随机森林回归,神经网络回归参数解释及示例
- 单线激光雷达SLAM(二)特征识别——断点、角点
热门文章
- visual studio快捷键 Qt creator快捷键
- 线程阻塞的概念 (Java 中的睡眠状态sleep 等待状态wait 礼让状态yield 自闭状态join suspend() 和 resume() )
- python sklearn.decomposition.PCA 主成分分析, 原理详解
- There is no getter for property named ‘col‘ in ‘class String‘,不是说一个参数不需要@Param注解吗?#{}和${}的区别
- mysql连接数thread_MySQL数据库负载很高连接数很多怎么处理
- 除了 MySQL 数据库,你还要了解的一些数据库
- 在页面中隐藏数据库某信息并显示该信息对应的字典编码名称(后台ssh框架,前台extjs)
- python内置函数用来打开或创建文件_2020年《python程序设计》基础知识及程序设计598题XS[含参考答案]...
- php foreach 循环 判断index 小于多少_PHP设计模式之迭代器模式 - 硬核项目经理
- PE转换分区表格式为GPT