1 Reply Latest reply on Jun 7, 2007 10:24 PM by Eric Dimick Eastman

    MessageFactoryImpl Dropping most of an incoming SOAP message

    Eric Dimick Eastman Newbie

      Hello all,

      I'm a newbie to Jboss (but not to Java, J2EE . . .), so I will start here. If this is too technical, please tell me.

      I am trying to integrate a OSS efiling package, OpenEFM. The client sends a SOAP message that, from what I can tell, is basically valid except for a couple of the xmlns hrefs. The message is received by a class with the following signature:

      public class SOAPTransceiverServlet extends JAXMServlet implements ReqRespListener {

      By the time that the onMessage method receives a SOAPMessage, the contents of the SOAPBody are badly truncated.

      When I override the doPost() method and examine the HttpRequest I see the full message that the client sent.

      I am reaching the conclusion that "org.jboss.ws.core.soap.MessageFactoryImpl" silently decided that the biggest chunk of my soap xml file is invalid and deserves to be deposited in a bit bucket somewhere.

      So, I have two questions:
      1) What flaws in a message could prompt the message factory to selectively drop chunks of an incoming message?
      2) Is there some way I can turn up the logging so that I can follow the message factory's thought process?


      Here is the relevant bit of my server.log file (STDOUT portions produced by "message.writeTo(System.out);"):
      2007-06-07 23:46:17,888 DEBUG [org.jboss.ws.core.soap.MessageFactoryImpl] createMessage: [contentType=multipart/related; type="text/xml";
      boundary="----=_Part_1_581536050.1181259977870"]
      2007-06-07 23:46:17,889 DEBUG [org.jboss.ws.core.soap.attachment.SwapableMemoryDataSource] Using memory buffer, size = 4776
      2007-06-07 23:46:17,890 DEBUG [org.jboss.ws.core.soap.attachment.SwapableMemoryDataSource] Using memory buffer, size = 25549
      2007-06-07 23:46:17,899 DEBUG [org.jboss.ws.core.soap.attachment.SwapableMemoryDataSource] Using memory buffer, size = 666
      2007-06-07 23:46:17,902 INFO [STDOUT]

      SOAP(or EbXML)Transceiver["ebxml-efsp"].receive() receives:
      2007-06-07 23:46:17,904 INFO [STDOUT] ------=_Part_1_10843314.1181259977902
      2007-06-07 23:46:17,904 INFO [STDOUT] Content-Type: text/xml; charset=UTF-8
      2007-06-07 23:46:17,905 INFO [STDOUT] Content-Transfer-Encoding: 8bit
      2007-06-07 23:46:17,905 INFO [STDOUT] Content-ID: <rootpart@ws.jboss.org>
      2007-06-07 23:46:17,905 INFO [STDOUT] <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:conv='http://www.openuri.org/2002/04/soap/conversation/' xmlns:eb='http://www.ebxml.org/namespaces/messageHeader' xmlns:filing='http://oxci.sourceforge.net/xml/CourtFiling' xmlns:j='http://www.it.ojp.gov/jxdm/3.0' xmlns:wsdl='http://oxci.sourceforge.net/xml/wsdl/Local' xmlns:xlink='http://www.w3.org/1999/xlink'><SOAP-ENV:Header><eb:MessageHeader SOAP-ENV:mustUnderstand='1' version='1.0'><eb:From><eb:PartyId>filler value</eb:PartyId></eb:From><eb:To><eb:PartyId>filler value</eb:PartyId></eb:To><eb:ConversationId>001181259977034 6/7/07</eb:ConversationId><eb:CPAId>filler value</eb:CPAId><eb:Service>filler value</eb:Service><eb:Action>filler value</eb:Action><eb:MessageData><eb:MessageId>1181259977686</eb:MessageId><eb:Timestamp>Thu Jun 07 23:46:17 GMT 2007</eb:Timestamp></eb:MessageData></eb:MessageHeader><wsdl:EFSPUsername>plink</wsdl:EFSPUsername><wsdl:EFSPPassword>knilp</wsdl:EFSPPassword><wsdl:CallbackURI>http://localhost:8080/stub/receiver/efsp</wsdl:CallbackURI></SOAP-ENV:Header><SOAP-ENV:Body><eb:Manifest xmlns:eb='http://www.ebxml.org/namespaces/messageHeader'><eb:Description xmlns:eb='http://www.ebxml.org/namespaces/messageHeader'>filler value For Eric</eb:Description><eb:Reference xlink:href='Payload1' xlink:type='simple' xmlns:eb='http://www.ebxml.org/namespaces/messageHeader' xmlns:xlink='http://www.w3.org/1999/xlink'/><eb:Reference xlink:href='payment' xlink:type='simple' xmlns:eb='http://www.ebxml.org/namespaces/messageHeader' xmlns:xlink='http://www.w3.org/1999/xlink'/></eb:Manifest></SOAP-ENV:Body></SOAP-ENV:Envelope>

      In the original there is 100 lines of XML between "</eb:Manifest>" and "</SOAP-ENV:Body>".

      Thanks for any help you can provide,
      Eric