ws-call error description

1
Our clients use ws-calls to create new orders in our mendix app. Since this webservice is used more and more, our clients are getting issues during the ws-call. The problem is, that each time when the ws-call fails, they need us to send them an error message. That's because they mostly get a response with internal server error. Our is xsd is already loose, so we're trying to return an understandable error message. So during the creation of an order we've introduced many checks in our microflows to return a understandable error message. But mostly the ws-call fails with an internal server error. We're trying to figure out how to work around these interal server error messages. Anyone experiencing the same issue or does anyone have a possible solution? Sample error message, found in our application log: com.mendix.modules.webservices.WebserviceException: Internal server error at jn.a(SourceFile:306) at jn.a(SourceFile:144) at jn.a(SourceFile:92) at com.mendix.modules.webservices.WebserviceModule.handleWebserviceCall(SourceFile:386) at dw.processRequest(SourceFile:27) at fr.a(SourceFile:75) at com.mendix.core.MxRuntime.processRequest(SourceFile:889) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:39) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Caused by: com.mendix.core.CoreRuntimeException: Attribute 'WebServiceInterface.TransportOrder.TransportInstruction' has a maximum length of 70, tried setting a value of length 660. at com.mendix.core.objectmanagement.member.MendixString.a(SourceFile:81) at com.mendix.core.objectmanagement.member.MendixString.setValue(SourceFile:74) at com.mendix.core.objectmanagement.member.MendixString.parseValueFromString(SourceFile:58) at aG.setValue(SourceFile:274) at jn.a(SourceFile:391) at jn.a(SourceFile:347) at jn.a(SourceFile:280) ... 17 more Another one: Error calling webservice at bB.a(SourceFile:125) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:273) at com.mendix.core.Core.execute(SourceFile:248) at jn.a(SourceFile:294) at jn.a(SourceFile:144) at jn.a(SourceFile:92) at com.mendix.modules.webservices.WebserviceModule.handleWebserviceCall(SourceFile:386) at dw.processRequest(SourceFile:27) at fr.a(SourceFile:75) at com.mendix.core.MxRuntime.processRequest(SourceFile:889) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:39) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Caused by: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:525) at java.net.Socket.connect(Socket.java:475) at java.net.Socket.<init>(Socket.java:372) at java.net.Socket.<init>(Socket.java:246) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80) at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at lC.a(SourceFile:137) at lC.a(SourceFile:72) at com.mendix.modules.webservices.WebserviceModule.callWebservice(SourceFile:120) at bB.a(SourceFile:108) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.executeSync(SourceFile:163) at id.a(SourceFile:71) at kH.a(SourceFile:66) at eF.executeAction(SourceFile:96) at com.mendix.systemwideinterfaces.core.UserAction.execute(SourceFile:49) at com.mendix.core.actionmanagement.CoreAction.call(SourceFile:473) at ie.b(SourceFile:155) at com.mendix.core.Core.execute(SourceFile:273) at com.mendix.core.Core.execute(SourceFile:248) at jn.a(SourceFile:294) at jn.a(SourceFile:144) at jn.a(SourceFile:92) at com.mendix.modules.webservices.WebserviceModule.handleWebserviceCall(SourceFile:386) at dw.processRequest(SourceFile:27) at fr.a(SourceFile:75) at com.mendix.core.MxRuntime.processRequest(SourceFile:889) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:39) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Another one: Internal server error at jn.a(SourceFile:306) at jn.a(SourceFile:144) at jn.a(SourceFile:92) at com.mendix.modules.webservices.WebserviceModule.handleWebserviceCall(SourceFile:386) at dw.processRequest(SourceFile:27) at fr.a(SourceFile:75) at com.mendix.core.MxRuntime.processRequest(SourceFile:889) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:39) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Caused by: Attribute 'WebServiceInterface.TransportOrder.TransportInstruction' has a maximum length of 70, tried setting a value of length 1170. at com.mendix.core.objectmanagement.member.MendixString.a(SourceFile:81) at com.mendix.core.objectmanagement.member.MendixString.setValue(SourceFile:74) at com.mendix.core.objectmanagement.member.MendixString.parseValueFromString(SourceFile:58) at aG.setValue(SourceFile:274) at jn.a(SourceFile:391) at jn.a(SourceFile:347) at jn.a(SourceFile:280) at jn.a(SourceFile:144) at jn.a(SourceFile:92) at com.mendix.modules.webservices.WebserviceModule.handleWebserviceCall(SourceFile:386) at dw.processRequest(SourceFile:27) at fr.a(SourceFile:75) at com.mendix.core.MxRuntime.processRequest(SourceFile:889) at com.mendix.m2ee.server.handler.RuntimeHandler.handle(RuntimeHandler.java:39) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:334) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Soap fault in SOAPUI: <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>Server</faultcode> <faultstring>Internal server error</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>
asked
2 answers
0

Edited: Sorry I misread your initial question, I thought this was about imported webservices in your mendix application. I suggest you create a ticket for a mechanism where you can create a soap fault.

answered
0

Then the server throws the wrong kind of exceptions. If you throw a com.mendix.modules.webservices.WebserviceException the error will be progated properly to the client as SOAP fault. (the latest community commons release has a function for this).

So on the server side, publish a microflow, which just calls the microflow that does the real work, and set exception handling of that MF call to custom. In the custom handling throw again as WebserviceException and your internal server errors should be gone.

answered