Not sure why this happens with the POST node. But I just tried it with Palladian’s HTTP Retriever and there, all headers are properly sent. The configuration works somewhat differently, so here’s an example workflow with the setup:
I looked in to the logfile, and found that there is an exception happening:
2020-02-11 17:36:27,742 : WARN : KNIME-Worker-9-GET Request 0:1 : : RestNodeModel : GET
Request : 0:1 : Call #1 failed: java.util.concurrent.ExecutionException:
javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: SSLHandshakeException
invoking https://[myURL]: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to
requested target
javax.ws.rs.ProcessingException: java.util.concurrent.ExecutionException:
javax.ws.rs.ProcessingException: javax.net.ssl.SSLHandshakeException: SSLHandshakeException
invoking https://[myURL]: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to
requested target
at org.knime.rest.nodes.common.RestNodeModel.invoke(RestNodeModel.java:485)
at org.knime.rest.nodes.common.RestNodeModel.makeFirstCall(RestNodeModel.java:371)
at org.knime.rest.nodes.common.RestNodeModel.execute(RestNodeModel.java:332)
at org.knime.core.node.NodeModel.execute(NodeModel.java:737)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:571)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236)
at org.knime.core.node.Node.execute(Node.java:1016)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:557)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:218)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:124)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)
But just to be clear: The Palladian Nodes can be used in any environment. Only for running them on a KNIME Server you need a commercial license, for which we charge a very fair price (i.e. a fraction of what you pay for a KNIME server).
Anyways: I hope that someone will help you to get your POST issue fixed! And should you want to give the Palladian Nodes a try, feel free to get in touch with us: mail@palladian.ws
Thank you for the clarification - that makes a huge difference.
I’d misunderstood and thought that a commercial license was needed for any use in a commercial setting.
In that case my problem is solved, and I’ll use the Palladian nodes.
Thanks for the advice and for the tools.