2016-07-08 97 views
0

在SOAPUI工具中,响应任何数据库步骤,响应包含tableName.column。如何在SOAPUI中的JDBC响应中删除表名

请参考下图。

screenshot of text

怎样才能把响应中的tablename属性。 我的意思是问,有没有SOAPUI任何设置或有任何属性文件,我需要更新......

+0

您可以使用groovy脚本替换字符串。 – Rao

+0

这是数据的内部XML表示。没有切换来修改此行为。这是设计的:如果你在声明中加入两个表,那么XML表示就不清楚你的数据来自哪个表。 – SiKing

+1

另外:最好将文本发布为文本,而不是将其转换为图像。 – SiKing

回答

1

这并不取决于设置SOAPUI,它取决于DB驱动程序。

我按照从GitHub上的SOAPUI代码,我终于发现,内部JDBCTestSteps基础上,后续的代码片段从响应构建XML节点名称:

... 
public static Document addResultSetXmlPart(Element resultsElement, ResultSet rs, Document xmlDocumentResult) 
      throws SQLException { 
ResultSetMetaData rsmd = rs.getMetaData(); 
... 
... 
String columnName = ""; 
if (!StringUtils.isNullOrEmpty(rsmd.getTableName(ii))) { 
    columnName += (rsmd.getTableName(ii)).toUpperCase() + "."; 
} 
columnName += (rsmd.getColumnName(ii)).toUpperCase(); 
String value = rs.getString(ii); 
Element node = xmlDocumentResult.createElement(StringUtils.createXmlName(columnName)); 
... 

(你可以看到整个方法addResultSetXmlPart method form XMLUtils class here

因此,您可以看到XML上的节点名称取决于ResultSetMetaDatagetTableNamegetColumnName方法。这个类是一个接口,这些方法的实现取决于特定的DB驱动程序版本。

因此,要与您的客户端具有相同的行为,只需检查两者是否具有相同的数据库驱动程序SOAPUI_HOME\bin\ext。备注:一旦您或您的客户更改重新启动SOAPUI为了加载新的。

希望这会有所帮助,

+0

通过使用“postgresql-9.3-1100-jdbc4”jar文件与表名称一起显示的JDBC响应 – HemaSundar

相关问题