这个问题在对接国外一家开发商的时候出现,在他们沙箱环境里,他们POST提交XML给我,按理应该在request.getInputStream()里把数据读出来,但我却读不出来,反而能直接循环request.getParameterMap().keySet()里找到对应的主键,相应找到value就开始对接了,当时也没过多的在意,等到对接完成,接入他们的正式环境时,我却读不到任何数据了,这个。。。
对方刚开始认为是我这边代码有问题,我也很坚定我的看法沙箱环境和正式环境到底有什么差异,对方技术很肯定的说没有差异,都是一样的代码, 无法解释为什么沙箱与正式会这样。面对这样,再说下去也解决不了,开始求助网上高手的经验,找到了一篇关于content-type设置对POST接收数据问题的文章,这确实提醒了我当初为什么能request.getParameterMap().keySet()来读数据,通过获取请求头里的content-type,原来对方沙箱的请求头里content-type是没有设置的(默认application/x-www-form-urlencoded),而正式环境却是:text/xml。
问题解决,用request.getInputStream读数据,这次问题很感谢那位哥们的文章:http://my.oschina.net/haogrgr/blog/294995 , 谢谢。
时间: 2024-10-10 16:47:18