Hi Folks, I've got a problem in the code below and I can't really work out what is going on anymore, So I've got a SOAP Messaging Server trying to send back a Successful Response SOAP XML Message to the calling client using the code below but everytime I execute the client/server pair. I get an exception See Below after the code snippet.
My question is what are my doing wrong here Ok, I don't want to add a string by setting Return Value like :- soapResponse.setReturnValue(new Parameter("Success", String.class, Success, null)); Even adding this doesn't work. Any ideas please. Regards Michael public void ReceiveMessageWithAttachments(Envelope requestEnvelope, SOAPContext requestContext, SOAPContext responseContext) throws IOException, MessagingException, InvalidInputException, InvalidServerDataException {............................. ................................................extract message and do stuff code here........................ try { //We need to create a Return Message to Send Back if it was Successful. if (CreateStatus == true) { SOAPCreationSuccess SuccessMessage = new SOAPCreationSuccess( HttpMappingConstants.ROOMCREATED, "OPEN ", MySession.getCurrentUser().getUserID(), ConfigSetting.getHostUrl() + "/" + Customer + invoiceNumber); StringWriter Writer = new StringWriter(); logger.debug("<We've Created the Envelope and the Writer>"); requestEnvelope.setHeader(SuccessMessage.buildMessageHeader()); requestEnvelope.setBody(SuccessMessage.buildMessageDetails( SuccessMessage)); logger.debug("<We've Set the Envelope Entries>"); Response soapResponse = Response.extractFromEnvelope( requestEnvelope, SOAPMappingRegistry.getBaseRegistry(""), requestContext); requestEnvelope = soapResponse.buildEnvelope(); } } catch (Exception e) { throw new InvalidServerDataException(HttpMappingConstants. CREATIONFAILEDRESPONSE + e); } } } catch (Exception e) { } try { if (CreateStatus == true) { requestEnvelope.marshall(Writer, SOAPMappingRegistry.getBaseRegistry(""), responseContext); responseContext.setRootPart(Writer.toString(), "text/xml"); } 003-06-13 09:42:32 - Ctx( /soapmsg ): Exception in: R( /soapmsg + /servlet/messagerouter + null) - javax.servlet.ServletException: Error building response envelope: java.io.IOException: Message is empty! at org.apache.soap.server.http.MessageRouterServlet.doPost(MessageRouterServlet .java:375) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:81 4) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:760) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC onnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:479)