This is an automated email from the ASF dual-hosted git repository. hansva pushed a commit to branch 2.18.1-patch in repository https://gitbox.apache.org/repos/asf/hop.git
commit 6de7934677d68406e6b1a33917773296f7273100 Author: Hans Van Akelyen <[email protected]> AuthorDate: Sun Jun 7 20:38:44 2026 +0200 "compatible" field default is missing, fixes #7237 (#7238) --- .../transforms/webservices/WebServiceMeta.java | 2 +- .../transforms/webservices/WebServiceMetaTest.java | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java b/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java index ac8cce35ea..508b339631 100644 --- a/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java +++ b/plugins/transforms/webservices/src/main/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMeta.java @@ -118,7 +118,7 @@ public class WebServiceMeta extends BaseTransformMeta<WebService, WebServiceData private int callTransform; /** Use the 2.5/3.0 parsing logic (available for compatibility reasons) */ - @HopMetadataProperty(key = "compatible") + @HopMetadataProperty(key = "compatible", defaultBoolean = true) private boolean compatible; /** The name of the repeating element name. Empty = a single row return */ diff --git a/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java b/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java index cd039c2bb8..e47825ad99 100644 --- a/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java +++ b/plugins/transforms/webservices/src/test/java/org/apache/hop/pipeline/transforms/webservices/WebServiceMetaTest.java @@ -18,12 +18,18 @@ package org.apache.hop.pipeline.transforms.webservices; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import org.apache.hop.core.HopClientEnvironment; +import org.apache.hop.core.xml.XmlHandler; +import org.apache.hop.metadata.serializer.memory.MemoryMetadataProvider; +import org.apache.hop.metadata.serializer.xml.XmlMetadataUtil; import org.apache.hop.pipeline.transform.TransformSerializationTestUtil; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.w3c.dom.Document; +import org.w3c.dom.Node; class WebServiceMetaTest { @@ -60,6 +66,25 @@ class WebServiceMetaTest { validateFieldsOut(meta); } + @Test + void testLegacyPipelineWithoutCompatibleElementDefaultsToTrue() throws Exception { + assertTrue(fromXml("<wsURL>url</wsURL>").isCompatible()); + } + + /** An explicit value must always win over the default. */ + @Test + void testExplicitCompatibleFlagIsRespected() throws Exception { + assertTrue(fromXml("<compatible>Y</compatible>").isCompatible()); + assertFalse(fromXml("<compatible>N</compatible>").isCompatible()); + } + + private static WebServiceMeta fromXml(String innerXml) throws Exception { + Document document = XmlHandler.loadXmlString("<transform>" + innerXml + "</transform>"); + Node node = XmlHandler.getSubNode(document, "transform"); + return XmlMetadataUtil.deSerializeFromXml( + node, WebServiceMeta.class, new MemoryMetadataProvider()); + } + private static void validateFieldsOut(WebServiceMeta meta) { assertEquals(3, meta.getFieldsOut().size()); WebServiceField o = meta.getFieldsOut().getFirst();
