5 Replies Latest reply on Apr 28, 2009 5:07 AM by sgimumbai

    Received status code '503' on HTTP SOAP,but no exception

    sgimumbai

      I am trying to solve two issues in esb.

      issue#1

      I am trying to use org.jboss.soa.esb.actions.soap.SOAPClient to acces my destionation service.If the service is down i am not getting any exception but only getting one log message as
      "18:08:14,125 WARN [SOAPClient] Received status code '503' on HTTP SOAP (POST) request to
      'http://webserver/Scenario3App/services/XmlServiceCustomer'."
      Because of this ,my JMS service is unable to redeliver the message.
      If my Application server is down,i will get the exception and able to redeliver.
      how can i solve this issue?please provide me a solution for redelivering the message.
      My destination service is deployed in tomcat6 and the webservice is created using cxf.
      --------------------------------------------------------------------------------------

      issue#2

      I am trying to reset the redeliver paramateres(redeliver count and the redeliver delay) from jms console.But it is not getting affected after applying the changes.

      Please provide me a solution for this issue.

        • 1. Re:  Received status code '503' on HTTP SOAP,but no exceptio
          tfennelly

          Have you tried using the WISE SOAPClient? You could also try manually constructing the SOAP message and then use the HttpRouter to route. That way you should be able to access the request status code.

          • 2. Re:  Received status code '503' on HTTP SOAP,but no exceptio
            sgimumbai

            I have tried to use wise.soapclient and http routter.Still there is no difference.Why it is not throwing an exception ,when it recieve a 503(service unavailable) error code.

            • 3. Re:  Received status code '503' on HTTP SOAP,but no exceptio
              tfennelly

              Not sure about the WISE client, but I'm fairly sure the HttpRouter will not throw an exception simply because that would assume that that is what the service requires, which may not always be the case. That said, we should probably make a config option on the action for generating an exception on specific HTTP response codes.

              The HTTP status code will be set on the Message returned from the HttpRouter action, so it should not be too difficult to implement a follow on action that interprets the status code and throws an exception, if that's what's required.

              • 4. Re:  Received status code '503' on HTTP SOAP,but no exceptio
                sgimumbai

                How can i achive a guanteed delivery of soap messages from jboss esb.Currently i have putting the soap messages in the jms queue and calling the webservice from a jms service off esb.Is the right way of implementation?because of this i need an exception for redelivering the message.

                • 5. Re:  Received status code '503' on HTTP SOAP,but no exceptio
                  sgimumbai

                  Here i am specifying the details of my service.I have specified a jms listener and 3 actions.
                  one of my action (soapui-client-action) calling a web service.If the web service is down, i would like to have a guaranteed delivery of my message.I know if the soapui-client-action raise any exception, the jms queue will try to redeliver the message.But i am not getting any exception.

                  Can you please tell me is the right implementation.

                  [service category="JmsAsyncServiceCategory" description="Jms service" name="JmsAsyncService"]
                  [listeners]
                  [jms-listener busidref="AkwJMSChannel" name="AkwMessaging"/]
                  [/listeners]
                  [actions mep="OneWay"]
                  [action name="request-mapper" class="com.mrd.tsg.jboss.actions.CustomRequestMapper"][/action]
                  [action name="testAction" class="com.mrd.tsg.jboss.actions.CustomException"][property name="exceptionMethod" value="exceptionMethod"/]
                  [property name="okMethod" value="okMethod"/][/action]
                  [action class="org.jboss.soa.esb.actions.soap.SOAPClient" name="soapui-client-action"][property name="wsdl" value="http://server/Scenario3App/services/XmlServiceCustomer?wsdl"/]
                  [property name="SOAPAction" value="processXml"/][/action][/actions][/service]