jasper-reports - 将外部参数传递给 XML 文件数据适配器时出现问题
问题描述
我在尝试使用“XML 文件”数据适配器(远程 SOAP WS)生成报告时遇到问题,该适配器使用一些外部参数作为输入数据。
我已经定义了外部参数“NOMBRE”和“APELLIDO”,但是当我尝试使用“$P{NOMBRE}”和“$P{APELLIDO}”将它们添加到 POST 消息正文(自由文本)时,它不会替换具有参数实际值的占位符。
这是“XML 文件”数据适配器的 XML 源:
<?xml version="1.0" encoding="UTF-8" ?>
<xmlDataAdapter class="net.sf.jasperreports.data.xml.XmlDataAdapterImpl"><name>prueba_imagenes</name><dataFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="httpDataLocation"><method>POST</method><url>http://myendpoint.com/myendpoint.php</url><username></username><password></password><body><soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ecr="urn:http://myendpoint.com/myendpoint.php">

<soapenv:Header/>

<soapenv:Body>

<ecr:peticion_JD3 soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">

<nombre xsi:type="xsd:string">$P{NOMBRE}</nombre>

<apellidos xsi:type="xsd:string">$P{APELLIDOS}</apellidos>

<edad xsi:type="xsd:string">3</edad>

</ecr:peticion_JD3>

</soapenv:Body>

</soapenv:Envelope>
</body><header><name>SOAPAction</name><value>"urn:http://myendpoint.com/myendpoint.php#peticion_JD3"</value></header><header><name>Content-Type</name><value>text/xml;charset=UTF-8</value></header></dataFile><useConnection>true</useConnection><namespaceAware>false</namespaceAware><selectExpression></selectExpression><locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" xsi:type="java:java.lang.String">es_ES</locale><timeZone xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" xsi:type="java:java.lang.String">Europe/Paris</timeZone></xmlDataAdapter>
如果我使用 WebService 数据适配器插件但不能使用本机“XML 文件”数据适配器,则完全相同。
我究竟做错了什么?
解决方案
推荐阅读
- python - 检查文本文件是否为空
- wordpress - 如何更改 woocommerce 搜索字段占位符的颜色
- r - 将 when() 子句添加到嵌套的 foreach 循环
- python - pynput,按键释放问题,程序尝试针对按下的按键数量重复循环,而不是在释放时停止
- python - 如何在我的 django 表单中自动填充字段?
- reactjs - 如何使卡片组件与 react-split-pane 组件一起使用?
- c# - UWP 应用数据库。用户需要单独安装mongodb还是可以打包?
- python - numpy 通过矢量化替换 nD 数组中 2D 切片上的 for 循环
- css - 无法获取照片下的 div“标签”,它会自动放置在 div 内的图像旁边
- php - 警告:filter_has_var() 期望参数 1 为 int,给定字符串