Tomcat可以读取URL请求中传递的XML吗?

时间:2020-01-22 19:13:10

标签: java http tomcat post

我们当前正在从Oracle Web Logic迁移到Tomcat 9。

当客户端将Content-Typeapplication/x-www-form-urlencoded的XML发送到Web服务时,我们在Tomcat上遇到了一个问题。从Tomcat请求转储程序过滤器中,我们可以看到它正在将XML视为多个参数。另外,XML包含特殊字符,例如lt;gt;等。

但是,在Web Logic上,当使用相同的内容类型发送相同的XML时,它可以成功处理请求。该代码仅被修改为包括额外的调试语句,以帮助解决此问题。

是否存在Tomcat配置设置,外部库或Tomcat过滤器,以允许将请求字符串中的XML放置在正文中或以某种方式访问​​?

在此问题上的任何帮助将不胜感激。

从请求转储者过滤器输出(已删除敏感信息;仅摘要-XML格式正确):

https-openssl-nio-443-exec-5      contentLength=1234
https-openssl-nio-443-exec-5        contentType=application/x-www-form-urlencoded
https-openssl-nio-443-exec-5        contextPath=
https-openssl-nio-443-exec-5             header=accept-encoding=gzip,deflate
https-openssl-nio-443-exec-5             header=content-type=application/x-www-form-urlencoded
https-openssl-nio-443-exec-5             header=authorization=Basic abc
https-openssl-nio-443-exec-5             header=content-length=1404
https-openssl-nio-443-exec-5             header=host=host
https-openssl-nio-443-exec-5             header=connection=Keep-Alive
https-openssl-nio-443-exec-5             header=user-agent=Apache-HttpClient/4.1.1 (java 1.5)
https-openssl-nio-443-exec-5             locale=en_US
https-openssl-nio-443-exec-5             method=POST
https-openssl-nio-443-exec-5          parameter=requesterId=1234
https-openssl-nio-443-exec-5          parameter=<?xml version="1.0"?>
<RootElement>
    <Element1>2019-12-13</PrivateDate1>
    <Element2>2019-12-18</PrivateDate2>
https-openssl-nio-443-exec-5          parameter=lt;a href=http://www.google.com/
https-openssl-nio-443-exec-5          parameter=gt;
Link
https-openssl-nio-443-exec-5          parameter=lt;/a=, 
https-openssl-nio-443-exec-5          parameter=gt; =
https-openssl-nio-443-exec-5          parameter=gt;Notes=

0 个答案:

没有答案
相关问题