Announcement Announcement Module
Collapse
No announcement yet.
Web service call and JMS Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Web service call and JMS

    Hi
    I'm having a bit of trouble setting up what should be a very routine web service call using SI.
    Please see the relevant excerpts of my config below.
    Code:
        <jms:inbound-gateway id="serviceSynchJmsIn"
                            connection-factory="connectionFactory"
                            request-destination="serviceRequestQueue"
                            request-channel="service-request-channel"
                            reply-timeout="30000"
                            concurrent-consumers="80" 
                            max-concurrent-consumers="100"/>
    
        <beans:bean id="testTransformerBean" class="*.TestTransformer" />
    
        <int:chain input-channel="service-request-channel" output-channel="service-response-channel">
    
            <!-- Custom transformer to create the required webservice request. -->
            <int:transformer ref="testTransformerBean" />
            
            <int-ws:header-enricher>
                <int-ws:soap-action value="http://**/ServiceRequest" />
            </int-ws:header-enricher>
    
            <int-ws:outbound-gateway uri="http://**/service" />
    
        </int:chain>
    I am receiving the message correctly (and for the purposes of getting everything wired, then disregarding it) and hardcoding in the webservice request into the transformer.

    Code:
    @Component
    public class TestTransformer {
    
       private static String test = "<tx:ServiceRequest xmlns:tx='*/messaging/schemas/ServiceRequest'>" +
    		   						"	<tx:Transaction>" +
    		   						"		<tx:Serial>14165195</tx:Serial>" +
    		   						"		<tx:Amount>100</tx:Amount>" +
    		   						"	</tx:Transaction>" +
    		   						"</tx:TaxServiceRequest>";
       
       @Transformer
       public String transform(final String message) {
    	   return test;
       }
       
    }
    The problem that I am on the server that hosts the WS that the entire body of the call is somehow being stripped out with the envelope being formatted correctly.
    Code:
    <soapenv:Envelope 
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >   
    <soapenv:Header/>
    <soapenv:Body>
    <tx:ServiceRequest xmlns:tx='*/messaging/schemas/ServiceRequest'>
    </tx:ServiceRequest> 
    </soapenv:Body>
    </soapenv:Envelope>
    I can send a message perfectly fine via SOAP_UI and have managed to use a messaging gateway to autowire a test, it is when I bring in JMS that I find myself in trouble.
    Have you any ideas,
    Thanks,
    Barry
    Last edited by bhiggins; Jan 28th, 2013, 03:33 PM.

  • #2
    Your XML is not well-formed, the opening tag is <tax:...> and the closing tag is </tx:...>.

    If you still get the problem after fixing that, I suggest you run with DEBUG logging and compare the message flow between your messaging gateway test case and the JMS case.

    Comment


    • #3
      Thanks for getting back to me so quickly. The posting problems were down to me trying to make the code more readable (obviously I didn't succeed )
      I have updated the tags above and will post the logging when I get back to the office.

      Comment


      • #4
        Hi,
        I have attached the "working" (gateway.txt) and "not working" (ws-gateway.txt) logs and am still seeing the same issue.

        I have enabled tracing on the server and can see that request is coming in again as:

        Code:
        <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
         <env:Header/>
         <env:Body>
          <tx:TxServiceRequest xmlns:tx='http://*/messaging/schemas/TxServiceRequest'/>
         </env:Body>
        </env:Envelope>
        so I know that the SOAP specific tags are being added.

        Could you have a quick look and see if I'm missing something obvious.
        Cheers

        Comment


        • #5
          These look to be from quite different configurations - I see no SAAJ processing on the JMS version, for example:

          Code:
          2013-01-29 09:45:51,799 DEBUG [org.springframework.ws.soap.saaj.support.SaajUtils] (main) SOAPElement [com.sun.xml.messaging.saaj.soap.ver1_1.Envelope1_1Impl] implements SAAJ 1.3
          Can you provide the actual configuration for these two tests.

          Also, since the JMS test has multiple messages, can you include the thread (%t) in the log - makes it easier to follow.

          Thanks.

          Comment


          • #6
            Thanks for getting back to me again. Your help is really appreciated.

            I have attached the new logs with the additional info in two file (due to size constraints).

            With regard to the gateway test the config is as above except the jms:inbound-gateway is replaced with:

            Code:
                 <int:gateway id="seiTaxService" service-interface="ie.aegon.servicebus.util.Test"
                     default-request-channel="tax-service-request-channel"
                     default-reply-channel="tax-service-response-channel" />
            The ways in which the two sets of code are called are very different. I am a little constrained and am deploying the jms/ws:gateway version of the code to jboss as we package our SI code in an a separate ear and calling it from my local machine by putting a serialized object on the queue.

            My other test was just to prove that I could call the WS via SI and is based on this example. All I have done is changed the pom to reflect our versions of SI and updated the URI to point at our WS.

            Thanks,
            Barry

            Comment


            • #7
              Sorry - I posted this on the wrong thread (after my post #5 above)...

              I am a little confused by your logs - the SaajUtils logs I referred to above (and full message trace in the 'sent' log) are only logged under TRACE...


              Code:
                         if (logger.isTraceEnabled()) {
                             logger.trace("SOAPElement [" + soapElement.getClass().getName() + "] implements " +
                                     getSaajVersionString(saajVersion));
                         }
              and


              Code:
                     if (sentMessageTracingLogger.isTraceEnabled()) {
                         ByteArrayOutputStream os = new ByteArrayOutputStream();
                         request.writeTo(os);
                         sentMessageTracingLogger.trace("Sent request [" + os.toString("UTF-8") + "]");
                     }
                     else if (sentMessageTracingLogger.isDebugEnabled()) {
                         sentMessageTracingLogger.debug("Sent request [" + request + "]");
                     }
              But your "good" log shows them under DEBUG.

              Can you run the JMS case with TRACE level logging?

              Thanks

              Comment


              • #8
                I am also a little confused as to why you are seeing double logging in the header mapper...

                Code:
                 org.springframework.jms.listener.DefaultMessageListenerContainer#1-78[2013-Jan-29 14:50:02] DEBUG DefaultSoapHeaderMapper: headerName=[ws_soapAction] WILL be mapped, matched pattern=ws_soapAction   
                 org.springframework.jms.listener.DefaultMessageListenerContainer#1-78[2013-Jan-29 14:50:02] DEBUG DefaultSoapHeaderMapper: headerName=[ws_soapAction] WILL be mapped, matched pattern=ws_soapAction
                Can you share your logging configuration for both environments?

                Comment


                • #9
                  That is very strange, I've run the tests again at TRACE level but and am not seeing any trace level logging at all.
                  Again all of the messages you would expect to be at that level are appearing with the DEBUG prefix.

                  JMS logging
                  Code:
                  	
                  ....
                  
                          <appender name="SERVICEBUS"
                  		class="org.jboss.logging.appender.DailyRollingFileAppender">
                  		<param name="File" value="${jboss.server.log.dir}/ServiceBus.log" />
                  		<param name="Append" value="true" />
                  		<!-- Rollover at midnight each day -->
                  		<param name="DatePattern" value="'.'yyyy-MM-dd" />
                  		<layout class="org.apache.log4j.PatternLayout">
                  			<param name="ConversionPattern" value="[%d{yyyy-MMM-dd HH:mm:ss}] %-5p %c{1}: %m %n %t" />
                  		</layout>
                  		<filter class="org.apache.log4j.varia.LevelRangeFilter">
                  			<param name="LevelMin" value="DEBUG" />
                  			<param name="LevelMax" value="FATAL" />
                  		</filter>
                  	</appender>
                  
                   ....
                  
                          <!-- ======================= -->
                  	<!-- Setup the Service Bus categories -->
                  	<!-- ======================= -->
                  	<logger name="ie.aegon.servicebus">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                  	<logger name="org.springframework.integration">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                  	<logger name="org.springframework.integration.store">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                      <logger name="org.springframework.ws">
                          <level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                      </logger>
                      <logger name="org.springframework.integration.xmpp">
                          <level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                      </logger>
                  	<logger name="org.springframework.integration.ws">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                  	<logger name="org.springframework.integration.handler">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                  	<logger name="org.springframework.integration.jms">
                  		<level value="TRACE" />
                  		<appender-ref ref="SERVICEBUS" />
                  	</logger>
                  Other Gateway logging

                  Code:
                  <?xml version="1.0" encoding="UTF-8" ?>
                  <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
                  <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
                  	<appender name="CA" class="org.apache.log4j.ConsoleAppender">
                  		<layout class="org.apache.log4j.PatternLayout">
                  			<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
                  		</layout>
                  	</appender>
                  	<appender name="FA" class="org.apache.log4j.FileAppender">
                  		<param name="File" value="sample.log"/>
                  		<param name="Threshold" value="TRACE"/>
                  		<layout class="org.apache.log4j.PatternLayout">
                  			<param name="ConversionPattern" value="%d %-5p [%c] (%t) %m%n" />
                  		</layout>
                  	</appender>
                  	
                  	
                  	<!-- Loggers -->
                  	
                  	<logger name="org.springframework">
                  		<level value="warn" />
                  	</logger>
                  
                      <logger name="org.springframework.ws">
                          <level value="TRACE" />
                      </logger>
                  
                  	<logger name="org.springframework.integration">
                  		<level value="TRACE" />
                  	</logger>
                  
                      <logger name="org.springframework.integration.xmpp">
                          <level value="TRACE" />
                      </logger>
                  
                  	<logger name="org.springframework.integration.ws">
                  		<level value="TRACE" />
                  	</logger>
                  
                  	<logger name="org.springframework.integration.handler">
                  		<level value="TRACE" />
                  	</logger>
                  
                  	<logger name="org.springframework.integration.jms">
                  		<level value="TRACE" />
                  	</logger>
                  	
                  	<root>
                  		<level value="TRACE" />
                  		<appender-ref ref="CA" />
                  		<appender-ref ref="FA" />
                  	</root>
                  </log4j:configuration>

                  Comment


                  • #10
                    I don't know what's going on with your logging, but with JMS, you should see messages like this under TRACE...

                    Code:
                    08:03:59.876 DEBUG [task-scheduler-3][org.springframework.integration.endpoint.SourcePollingChannelAdapter] Received no Message during the poll, returning 'false'
                    08:04:00.032 TRACE [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1][org.springframework.jms.listener.DefaultMessageListenerContainer] Consumer [Cached JMS MessageConsumer: ActiveMQMessageConsumer { value=ID:Celeborn.local-49715-1359551032584-3:1:1:1, started=true }] of session [Cached JMS Session: ActiveMQSession {id=ID:Celeborn.local-49715-1359551032584-3:1:1,started=true}] did not receive a message
                    If you are not, something must be hijacking your logging; as I mentioned, it is also weird that you are seeing "double" log entries for the header mapper.

                    Comment


                    • #11
                      Hi,
                      I'm still running into this issue and have been looking at removing the transformer and various options on the message to no avail. I'm guessing that the WebServiceTemplate is removing the details inside of TxService when converting to a SOAP message. Would you be able to point me in the direction where these log entries tally with the SI source so I can try and look though there?

                      Code:
                      2013-02-07 11:03:16,420 DEBUG [org.springframework.integration.ws.SimpleWebServiceOutboundGateway] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) org.springframework.integration.ws.SimpleWebServiceOutboundGateway#44a7b674 received message: [Payload=<*.client.TxService>
                        <transactionId>15048875</transactionId>
                        <amount>100.00</amount>
                      </*.client.TxService>][Headers={timestamp=1360234996420, id=71b8a914-6a67-480a-a464-9f440439938b, history=txServiceSynchJmsIn,tx-service-fin-plat-request-channel,enricher,tx-service-fin-plat-post-head-enrich-request-channel, ws_soapAction=http://*/TxService/process, jms_timestamp=1360234997235, jms_redelivered=false, USER_NAME=higginsb, jms_correlationId=ID:JBM-6705dd05-eb0a-41b2-b885-01c87aa2eeb4, jms_replyTo=JBossQueue[txServiceResponseQueue], CONTEXT=TAX_SERVICE, jms_messageId=ID:JBM-6705dd05-eb0a-41b2-b885-01c87aa2eeb4}]
                      2013-02-07 11:03:16,451 DEBUG [org.springframework.ws.client.core.WebServiceTemplate] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) Opening [org.springframework.ws.transport.http.HttpUrlConnection@702cb3ab] to [http://jboss-i01:8180/FinancialPlatform/txService]
                      2013-02-07 11:03:16,514 TRACE [org.springframework.ws.soap.saaj.support.SaajUtils] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) SOAPElement [org.jboss.ws.core.soap.SOAPEnvelopeImpl] implements SAAJ 1.3
                      2013-02-07 11:03:16,545 TRACE [org.springframework.ws.soap.saaj.support.SaajUtils] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) SOAPElement [org.jboss.ws.core.soap.SOAPBodyImpl] implements SAAJ 1.3
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[history] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[ws_soapAction] WILL be mapped, matched pattern=ws_soapAction
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_timestamp] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_redelivered] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[USER_NAME] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_correlationId] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_replyTo] WILL NOT be mapped
                      2013-02-07 11:03:16,545 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[CONTEXT] WILL NOT be mapped
                      2013-02-07 11:03:16,561 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_messageId] WILL NOT be mapped
                      2013-02-07 11:03:16,561 TRACE [org.springframework.ws.client.MessageTracing.sent] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) Sent request [<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><*.client.TxService/></env:Body></env:Envelope>]
                      Thanks,
                      Barry

                      Comment


                      • #12
                        I see you sorted out your logging issues. Well, I am still struggling to understand why or how this behavior changes based on where the message originates. So, I combined the JMS and WS samples to simulate what you are doing, and all worked fine for me...

                        Code:
                        <jms:inbound-gateway id="jmsin"
                                             request-destination="requestQueue"
                                             request-channel="demoChannel"/>
                        
                        <channel id="demoChannel"/>
                        
                        <transformer input-channel="demoChannel" output-channel="fahrenheitChannel">
                        	<int-groovy:script><![CDATA[
                        			"<FahrenheitToCelsius xmlns=\"http://tempuri.org/\">" +
                        			"    <Fahrenheit>90.0</Fahrenheit>" +
                        			"</FahrenheitToCelsius>";
                        		]]>
                        	</int-groovy:script>
                        </transformer>
                        
                        <channel id="fahrenheitChannel" />
                        
                        <chain input-channel="fahrenheitChannel">
                        	<int-ws:header-enricher>
                        		<int-ws:soap-action value="http://tempuri.org/FahrenheitToCelsius"/>
                        	</int-ws:header-enricher>
                        	<int-ws:outbound-gateway uri="http://www.w3schools.com/webservices/tempconvert.asmx"/>
                        </chain>
                        
                        08:58:50.731 TRACE [org.springframework.jms.listener.DefaultMessageListenerContainer#0-1][org.springframework.ws.client.MessageTracing.sent] Sent request [<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><SOAP-ENV:Body><FahrenheitToCelsius xmlns="http://tempuri.org/">    <Fahrenheit>90.0</Fahrenheit></FahrenheitToCelsius></SOAP-ENV:Body></SOAP-ENV:Envelope>]
                        That trace message comes out in WebServiceTemplate.sendRequest (line #613 in spring-ws 2.1.1).

                        Comment


                        • #13
                          Thanks for getting back to me Gary,
                          I appreciate you writing the snippet above. I plugged in your WS call into my call and am still seeing the same issue.

                          Code:
                          2013-02-07 16:00:26,429 DEBUG [org.springframework.integration.ws.SimpleWebServiceOutboundGateway] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) org.springframework.integration.ws.SimpleWebServiceOutboundGateway#5d053579 received message: [Payload=<FahrenheitToCelsius xmlns="http://tempuri.org/">    <Fahrenheit>90.0</Fahrenheit></FahrenheitToCelsius>][Headers={timestamp=1360252826429, id=d6c2e109-f378-4ec1-853a-804a41dd194b, history=taxServiceSynchJmsIn,tax-service-fin-plat-request-channel,enricher,tax-service-fin-plat-post-head-enrich-request-channel,fahrenheitChannel, ws_soapAction=http://tempuri.org/FahrenheitToCelsius, jms_timestamp=1360252792111, jms_redelivered=false, USER_NAME=higginsb, jms_correlationId=ID:JBM-179aeb96-7216-4a9e-bc21-e07f2dba5420, jms_replyTo=JBossQueue[taxServiceResponseQueue], CONTEXT=TAX_SERVICE, jms_messageId=ID:JBM-179aeb96-7216-4a9e-bc21-e07f2dba5420}]
                          2013-02-07 16:00:26,461 DEBUG [org.springframework.ws.client.core.WebServiceTemplate] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) Opening [org.springframework.ws.transport.http.HttpUrlConnection@51028494] to [http://www.w3schools.com/webservices/tempconvert.asmx]
                          2013-02-07 16:00:26,523 INFO  [org.quartz.plugins.history.LoggingTriggerHistoryPlugin] (transactionEngineScheduler_Worker-1) Trigger DEFAULT.transactionProcessingTrigger fired job DEFAULT.transactionProcessingDetail at: 
                          					16:00:26 07/02/2013
                          2013-02-07 16:00:26,648 INFO  [lu.scoteqint.messaging.transaction.engine.monitor.TransactionMonitor] (transactionEngineScheduler_Worker-1) Polling transaction queues every 1000ms for activity. Idle timeout = 60000 ,waiting...
                          2013-02-07 16:00:26,663 TRACE [org.springframework.ws.soap.saaj.support.SaajUtils] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) SOAPElement [org.jboss.ws.core.soap.SOAPEnvelopeImpl] implements SAAJ 1.3
                          2013-02-07 16:00:26,679 TRACE [org.springframework.ws.soap.saaj.support.SaajUtils] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) SOAPElement [org.jboss.ws.core.soap.SOAPBodyImpl] implements SAAJ 1.3
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[history] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[ws_soapAction] WILL be mapped, matched pattern=ws_soapAction
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_timestamp] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_redelivered] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[USER_NAME] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_correlationId] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_replyTo] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[CONTEXT] WILL NOT be mapped
                          2013-02-07 16:00:26,695 DEBUG [org.springframework.integration.ws.DefaultSoapHeaderMapper] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) headerName=[jms_messageId] WILL NOT be mapped
                          2013-02-07 16:00:26,710 TRACE [org.springframework.ws.client.MessageTracing.sent] (org.springframework.jms.listener.DefaultMessageListenerContainer#1-1) Sent request [<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'><env:Header></env:Header><env:Body><FahrenheitToCelsius xmlns='http://tempuri.org/'/></env:Body></env:Envelope>]
                          I guess I'll have to try and debug into this remotely. I appreciate you help.
                          Barry

                          Comment


                          • #14
                            Cool. In that case, I suspect the issue is with the JBoss SOAP implementation.

                            If you set a breakpoint at line # 139 in SaajSoapMessageFactory, you'll see that, when running stand-alone, we get an instance of com.sun.xml.internal.messaging.saaj.soap.ver1_1.SO APMessageFactory1_1Impl from the JDK.

                            The WebServiceTemplate simply delegates to the platform's SOAPMessageFactory to create the SOAPMessage so it looks like the JBoss implementation is dropping the content for some reason.

                            Comment


                            • #15
                              Hi all!

                              I suspect the issue is with the JBoss SOAP implementation.
                              Some time ago I caught similar issue in the IBM WAS, although it worked on JBOSS good.
                              Switching to org.springframework.ws.soap.axiom.AxiomSoapMessage Factory fixed all problems!

                              HTH,
                              Artem

                              Comment

                              Working...
                              X