I try to connect to Formdesk for a client using http://www.formdesk.com/api/soap.wsdl
From SOAPUI I can make a call (using a specific endpoint including an API-key). Recreating this call in Mendix using 'call webservice action' has been a challenge so far.
I have created a mock service based on this WSDL as well, which gives an Internal Server Error when called from Mendix. Calling the Formdesk-API gives the following error.
com.mendix.modules.microflowengine.MicroflowException: javax.xml.ws.soap.SOAPFaultException: Server:XML Parser failed at linenumber 1, lineposition 268, reason is: Names beginning with the three letter sequence x, m, l, in any case combination, are reserved for use by XML and XML-related specifications. at DeclarationAPI.IVK_TestWebservice (CallWebservice : 'Call web service 'FormResultsGet'')
Advanced stacktrace:
at com.mendix.modules.microflowengine.MicroflowUtil.processException(MicroflowUtil.java:143)
Caused by: com.mendix.systemwideinterfaces.MendixRuntimeException: javax.xml.ws.soap.SOAPFaultException: Server:XML Parser failed at linenumber 1, lineposition 268, reason is: Names beginning with the three letter sequence x, m, l, in any case combination, are reserved for use by XML and XML-related specifications. at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:40)
Caused by: javax.xml.ws.soap.SOAPFaultException: Server:XML Parser failed at linenumber 1, lineposition 268, reason is: Names beginning with the three letter sequence x, m, l, in any case combination, are reserved for use by XML and XML-related specifications. at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193) at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:126) at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:199) at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:218) at com.mendix.integration.webservices.call.WebserviceCaller$3.run(WebserviceCaller.java:325) at com.mendix.integration.webservices.call.WebserviceCaller$3.run(WebserviceCaller.java:298) at java.security.AccessController.doPrivileged(Native Method) at com.mendix.integration.webservices.call.WebserviceCaller$1.execute(WebserviceCaller.java:262) at com.mendix.integration.webservices.call.WebserviceCaller$1.execute(WebserviceCaller.java:259) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.util.classloading.Runner$1.run(Runner.java:25) at java.security.AccessController.doPrivileged(Native Method) at com.mendix.util.classloading.Runner.runUsingClassLoaderOf(Runner.java:21) at com.mendix.integration.webservices.call.WebserviceCaller.call(WebserviceCaller.java:267) at com.mendix.integration.webservices.call.WebserviceCaller.call(WebserviceCaller.java:129) at com.mendix.integration.webservices.WebserviceModuleImpl.callWebservice(WebserviceModuleImpl.java:207) at com.mendix.integration.internal.InternalIntegrationImpl.callWebservice(InternalIntegrationImpl.scala:333) at com.mendix.integration.actions.microflow.WebServiceCallAction.execute(WebServiceCallAction.scala:102) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:47) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.java:192) at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.java:149) at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:49) at com.mendix.core.actionmanagement.CoreAction.doCall(CoreAction.java:260) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:248) at com.mendix.core.actionmanagement.ActionManager$1.execute(ActionManager.java:168) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.core.actionmanagement.ActionManager.executeSync(ActionManager.java:172) at com.mendix.core.component.InternalCore.execute(InternalCore.java:414) at com.mendix.webui.actions.client.ExecuteAction.execute(ExecuteAction.java:144) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply$mcV$sp(ClientRequestHandler.scala:311) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:301) at com.mendix.webui.requesthandling.ClientRequestHandler$$anonfun$handleRequest$1.apply(ClientRequestHandler.scala:301) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(ActionDispatching.scala:143) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(ActionDispatching.scala:145) at scala.util.Try$.apply(Try.scala:192) at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(ActionDispatching.scala:139) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at com.mendix.core.session.Worker.aroundReceive(ActionDispatching.scala:135) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) at akka.actor.ActorCell.invoke(ActorCell.scala:487) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) at akka.dispatch.Mailbox.run(Mailbox.scala:220) at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
I have also tried to call this webservice through Java, in which I succeeded, both on the mock server and the FD endpoint. However, it means I have to take care of escaping and parsing manually, which I don't want to do of course.
Why does Mendix action reacts differently from Java, and/or what does above error mean?