It seems to me that you SOAP request is trying to populate an XML attribute with a null value. XML attributes (I think) appear as indented and italic attributes in a domain to XML mapping. Your WSDL probably forbids this value from being null or optional.
I would recommend using your debugger to review any attributes that fit my description and make sure they aren't empty/null. You might also try re-importing the WSDL, as I know there have been some changes in the way XML is processed between 5.13 and 5.20.
I added objects fo0r all items that point to a empty value. After creating for several objects I get the following error:
javax.xml.ws.soap.SOAPFaultException: Internal Error (from client) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:36) Caused by: Internal Error (from client) 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:334) at com.mendix.integration.webservices.call.WebserviceCaller$3.run(WebserviceCaller.java:284) at java.security.AccessController.doPrivileged(Native Method) at com.mendix.integration.webservices.call.WebserviceCaller$1.execute(WebserviceCaller.java:251) at com.mendix.integration.webservices.call.WebserviceCaller$1.execute(WebserviceCaller.java:248) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32) at com.mendix.util.classloading.Runner$1.run(Runner.java:21) at java.security.AccessController.doPrivileged(Native Method) at com.mendix.util.classloading.Runner.runUsingClassLoaderOf(Runner.java:17) at com.mendix.integration.webservices.call.WebserviceCaller.call(WebserviceCaller.java:255) at com.mendix.integration.webservices.call.WebserviceCaller.call(WebserviceCaller.java:129) at com.mendix.integration.webservices.WebserviceModuleImpl.callWebservice(WebserviceModuleImpl.java:196) at com.mendix.integration.internal.InternalIntegrationImpl.callWebservice(InternalIntegrationImpl.scala:276) at com.mendix.integration.actions.microflow.CallWebServiceAction.execute(CallWebServiceAction.scala:73) at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.java:44) 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:261) at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:249) at com.mendix.core.actionmanagement.CustomActionMonitorImpl$$anonfun$run$1.apply(CustomMonitoredAction.scala:14) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2$$anon$1.execute(ActionDispatching.scala:125) at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:32) at com.mendix.core.session.Worker$$anonfun$receive$3$$anonfun$2.apply(ActionDispatching.scala:127) at scala.util.Try$.apply(Try.scala:191) at com.mendix.core.session.Worker$$anonfun$receive$3.applyOrElse(ActionDispatching.scala:121) at akka.actor.Actor$class.aroundReceive(Actor.scala:465) at com.mendix.core.session.Worker.aroundReceive(ActionDispatching.scala:117) 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)
Here is the XMl that is posted to the service. It needs to be able to exclude the following nodes: StructureSearchCriteria, PartySearchCriteria, AccountBalanceSearchCriteria, PaymentDueSearchCriteria, StatementSearchCriteria and InsurancePolicySearchCriteria. When i try to uncheck those elements within the modeler I get the following error: Element 'RetrieveIntermediaryDetailsRequest/searchCriteria' cannot be unchecked, because it occurs at least once.
XML: <soapenv:envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:header><wsse:security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:usernametoken> <wsse:username>Username</wsse:username> <wsse:password>Password</wsse:password> </wsse:usernametoken> </wsse:security> </soapenv:header> <soapenv:body> <ns1:retrieveintermediarydetailsrequest xmlns:ns1="http://www.ibm.com/ima/iaa/IAAXML"> <requestheader> <ns1:id>_testing</ns1:id> <ns1:cmdtype>request</ns1:cmdtype> <ns1:cmdmode>alwaysRespond</ns1:cmdmode> <ns1:echoback>false</ns1:echoback> <ns1:servicecontext> <keepalive>false</keepalive> <channelname>CMQ</channelname> <channelid>CMQ</channelid> <debug>false</debug> <trace>false</trace> </ns1:servicecontext> </requestheader> <searchcriteria></searchcriteria> <searchcriteria xsi:type="ns1:StructureSearchCriteria"></searchcriteria> <searchcriteria xsi:type="ns1:PartySearchCriteria"></searchcriteria> <searchcriteria xsi:type="ns1:AccountBalanceSearchCriteria"></searchcriteria> <searchcriteria xsi:type="ns1:PaymentDueSearchCriteria"></searchcriteria> <searchcriteria xsi:type="ns1:StatementSearchCriteria"></searchcriteria> <searchcriteria xsi:type="ns1:AgentSearchCriteria"> <ns1:querydetails> <ns1:inquirylevel>2</ns1:inquirylevel> </ns1:querydetails> <ns1:externalreference>AA140700</ns1:externalreference> <ns1:channelroletypename>Agent</ns1:channelroletypename> </searchcriteria> <searchcriteria xsi:type="ns1:InsurancePolicySearchCriteria"></searchcriteria> </ns1:retrieveintermediarydetailsrequest> </soapenv:body> </soapenv:envelope>
Hi Russell,
We are aware of the issue with the inheritance element (see xsd extension) and we are currently actively working on extending the XML mapper to support more complex XSD constructs such as the inheritance element.
As for a workaround, it seems that you only need to map 'AgentSearchCriteria'. If that is the case, then you can remove other SearchCriteria extensions from the WSDL and re-import.