Hi!
I’m trying to connect to the DiscoveryGate Web Service (DGWS) with SOAP.
WSDL: https://www.discoverygate.com/webservice/1.2/DGWS?WSDL
API ref: https://www.discoverygate.com/webservice/1.2/docs/api-reference/index.html
I can successfully load the WSDL, and fill out the required information. However, when I try to execute the node, it gives me the following error:
WARN Generic Web Service Client 0:1 Failed on row “Row0”: Can not set java.util.List field com.discoverygate.webservice.types.ServiceRequest.moleculeFlags to com.discoverygate.webservice.types.MoleculeRetrievalFlags
ERROR Generic Web Service Client 0:1 Execute failed: Webservice invocation failed on all rows, check log for details
Does anyone have a fix for this? Or can someone suggest an alternative connection method using the REST nodes?
Note: DGWS needs a valid license to perform a search, but as I can’t even invoke the service, that’s not a problem for reproducing the issue.
Relevant log information regarding the WARN:
2020-02-28 15:32:39,866 : WARN : KNIME-Worker-47-Generic Web Service Client 0:1 : : WSExecutor : Generic Web Service Client : 0:1 : Failed on row “Row0”: Can not set java.util.List field com.discoverygate.webservice.types.ServiceRequest.moleculeFlags to com.discoverygate.webservice.types.MoleculeRetrievalFlags
java.lang.IllegalArgumentException: Can not set java.util.List field com.discoverygate.webservice.types.ServiceRequest.moleculeFlags to com.discoverygate.webservice.types.MoleculeRetrievalFlags
- at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)*
- at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)*
- at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81)*
- at java.lang.reflect.Field.set(Field.java:764)*
- at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.set(Accessor.java:280)*
- at org.knime.ext.cxf.webservice.client.node.SingleParamNode.writeChildValue(SingleParamNode.java:952)*
- at org.knime.ext.cxf.webservice.client.node.SingleParamNode.internalCreateInvocationObject(SingleParamNode.java:936)*
- at org.knime.ext.cxf.webservice.client.node.SingleParamNode.createInvocationObjects(SingleParamNode.java:896)*
- at org.knime.ext.cxf.webservice.client.node.WSExecutor.calculate(WSExecutor.java:254)*
- at org.knime.ext.cxf.webservice.client.node.CxfClientNodeModel.execute(CxfClientNodeModel.java:85)*
- 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)*