Error with webservice - namespacing issue?

2
Update I've been working with SoapUI creating a mockservice. For now I've turned the validate against schema off. SoapUI generates a WORKING response that looks like this: So no problems with this. When I replace this response with the response I get from the back end the same problem occurs as described below.. So! Is the issue caused by the lack of proper namespacing???? Original message Hi all, I've been working on a project in which I need to implement a large set of webservices. They have been giving me a headache! In the outline of the issue below I'm using a small service which is having the same issue as the rest of them. So. I've implemented a small webservice. At first, it gives me errors, but I figure out that that is caused by the backend which can't handle the generated request. So I overrule the generated request by a custom body (tested via SoapUI). This solves the first bit of my issue: I now get a response (as you can see in the screens below). The following issue then occurs: Nothing happens in my domain model. No entities get mapped, I don't get a response in my output variable. So, I can't do anything with the response. So I decided to set the 'Validate against schema' property of the XML to Domain mapping to true. As soon as I do that, Mendix no longer shows the receiving of the response in the log, nor does it show the XML importer processing it. It throws an error right away (see below). Since it gives a nullpointer exception, I started looking for this, but the only thing I could come up with is the empty element in the response, being <errormessages/>. Could this cause my problem? Is this a bug, an issue with the WSDL, the backend? Could somebody point me in the right direction? Thanks! PS: Tested this in 2 empty projects, in 4.3.2 and 4.4.2, to make sure that the project security or things like that were not in the way. ld: at MyFirstModule.ImportedwebserviceLeencalculatorLeencalculatorRequestOper (CallWebservice : 'Call web service 'LeencalculatorRequestOper'') Advanced stacktrace: at mq.a(SourceFile:187) Caused by: java.lang.NullPointerException at com.sun.xml.ws.client.ClientSchemaValidationTube.<init>(ClientSchemaValidationTube.java:86) at com.sun.xml.ws.api.pipe.ClientTubeAssemblerContext.createValidationTube(ClientTubeAssemblerContext.java:300) at com.sun.xml.ws.assembler.jaxws.ValidationTubeFactory.createTube(ValidationTubeFactory.java:57) at com.sun.xml.ws.assembler.TubeCreator.createTube(TubeCreator.java:84) at com.sun.xml.ws.assembler.TubelineAssemblerFactoryImpl$MetroTubelineAssembler.createClient(TubelineAssemblerFactoryImpl.java:130) at com.sun.xml.ws.client.Stub.createPipeline(Stub.java:228) at com.sun.xml.ws.client.Stub.<init>(Stub.java:205) at com.sun.xml.ws.client.Stub.<init>(Stub.java:178) at com.sun.xml.ws.client.dispatch.DispatchImpl.<init>(DispatchImpl.java:133) at com.sun.xml.ws.client.dispatch.SOAPSourceDispatch.<init>(SOAPSourceDispatch.java:79) at com.sun.xml.ws.client.dispatch.DispatchImpl.createSourceDispatch(DispatchImpl.java:517) at com.sun.xml.ws.api.pipe.Stubs.createSourceDispatch(Stubs.java:199) at com.sun.xml.ws.api.pipe.Stubs.createDispatch(Stubs.java:270) at com.sun.xml.ws.client.WSServiceDelegate.createDispatch(WSServiceDelegate.java:395) at com.sun.xml.ws.client.WSServiceDelegate.createDispatch(WSServiceDelegate.java:406) at javax.xml.ws.Service.createDispatch(Service.java:361) at nu.b(SourceFile:379) at nu.a(SourceFile:71) at nu$2.a(SourceFile:307) at nu$2.run(SourceFile:294) at java.security.AccessController.doPrivileged(Native Method) at nu.a(SourceFile:283) at nu.a(SourceFile:134) at com.mendix.modules.webservices.WebserviceModule.callWebservice(SourceFile:231) at ls.a(SourceFile:79) at mq.a(SourceFile:72) at mp.a(SourceFile:151) at mp.executeAction(SourceFile:98) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:57) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:457) at hA.b(SourceFile:193) at com.mendix.core.Core.execute(SourceFile:219) at gl.execute(SourceFile:186) at ja.a(SourceFile:319) at com.mendix.externalinterface.connector.RequestDispatching$Worker.a(SourceFile:157) at com.mendix.externalinterface.connector.RequestDispatching$Worker$a.a(SourceFile:148) at com.mendix.externalinterface.connector.RequestDispatching$Worker$a.apply(SourceFile:147) at akka.actor.Actor$class.apply(Actor.scala:545) at com.mendix.externalinterface.connector.RequestDispatching$Worker.apply(SourceFile:143) at akka.actor.LocalActorRef.invoke(ActorRef.scala:910) at akka.dispatch.MessageInvocation.invoke(MessageHandling.scala:25) at akka.dispatch.ExecutableMailbox$class.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:223) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.processMailbox(ExecutorBasedEventDrivenDispatcher.scala:123) at akka.dispatch.ExecutableMailbox$class.run(ExecutorBasedEventDrivenDispatcher.scala:195) at akka.dispatch.ExecutorBasedEventDrivenDispatcher$$anon$4.run(ExecutorBasedEventDrivenDispatcher.scala:123) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) at akka.dispatch.MonitorableThread.run(ThreadPoolBuilder.scala:192)
asked
2 answers
2

So! Is the issue caused by the lack of proper namespacing????

In short yes.

Namespaces are actualy part of your xml elements in a way that <typ:LeencalculatorAnswer> actualy equals the element <http://www.alcredis.nl/leencalculator/types:LeencalculatorAnswer> while your original answer only contained the element <LeencalculatorAnswer>. Because the mapping cannot find the typ:LeencalculatorAnswer element it will not map any objects.

answered
2

This is one of the release notes for 4.4.3, may fix your problem:

Ticket 16957: Fixed incorrect namespace of an XML element in case of a type definition of another namespace.

answered