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)


Reply via email to