Issue with Previously integrated services

1
Last week we updated to modeler version 5.20 from 5.13. We are receiving errors from 1 of our service interactions but not the other. Below is the error we are receiving. We have attempted to remove all enitites that have no attributes as well as trying to "Create Object" wrappers for all of those same items and have had no luck. Creating XML with a null parameter is not allowed when parameter is not optional or nillable (http://www.ibm.com/ima/iaa/IAAXML:RetrieveIntermediaryDetailsRequest|searchCriteria) at com.mendix.integration.xmlexporter.XMLExporter.handleNullMapping(XMLExporter.scala:135) at com.mendix.integration.xmlexporter.XMLExporter.handleObjectMappingElement(XMLExporter.scala:214) at com.mendix.integration.xmlexporter.XMLExporter.com$mendix$integration$xmlexporter$XMLExporter$$handleMappingElementContainerElement(XMLExporter.scala:196) at com.mendix.integration.xmlexporter.XMLExporter$$anonfun$handleChildMappingElements$1.apply(XMLExporter.scala:119) at com.mendix.integration.xmlexporter.XMLExporter$$anonfun$handleChildMappingElements$1.apply(XMLExporter.scala:108) at scala.collection.Iterator$class.foreach(Iterator.scala:743) at scala.collection.AbstractIterator.foreach(Iterator.scala:1174) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at com.mendix.integration.xmlexporter.XMLExporter.handleChildMappingElements(XMLExporter.scala:108) at com.mendix.integration.xmlexporter.XMLExporter.com$mendix$integration$xmlexporter$XMLExporter$$exportMendixObject(XMLExporter.scala:83) at com.mendix.integration.xmlexporter.XMLExporter.export(XMLExporter.scala:61) at com.mendix.integration.webservices.call.messageparts.MappingRequestPart.render(MappingRequestPart.scala:30) at com.mendix.integration.webservices.call.WebserviceCaller.buildSOAPRequestMessage(WebserviceCaller.java:472) at com.mendix.integration.webservices.call.WebserviceCaller.call(WebserviceCaller.java:116) 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)
asked
4 answers
0

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.

answered
0

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)

answered
0

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>

answered
0

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.

answered