3 Replies Latest reply on Aug 20, 2009 6:37 AM by Tom Fennelly

    esb webservice SOAPProcessor

    alberto sarubbi Newbie

      after reading the documentation and the quickstart samples i still can't figure out this situation.

      an external entity must consume a service from my company.
      the service is implemented as a couple actions in a single service pipeline.

      my approach was to use SOAPProcessor to get the soap envelope request into the bus for further processing.

      following the samples, the structure of the pipeline is the following:
      in order:

      action_1
      action_2
      web_service_action (a jsr181 WS, as a SOAPProcessor action)

      in this case, the web_service_action can read the message payload generated by action_1 and action_2 using SOAPProcessor.getMessage and create a response bean
      the drawback is that action_1 and action_2 cannot read the web_service_action input message, except for the raw soap message in the default body location.

      here are my questions
      if the web service stack already takes care of unmarshalling the input parameters of the request into Java Objects, why a raw soap envelope is written to the default body location of the message object? do i need to write a parser action (call it smooks, xstream, etc). doing this, the first action would always requiere a raw soap envelope as a parameter and cause errors when invoked by an esb-aware client.

      is there another way to do this?

      if this is the way it was intended, would be a better alternative to write a EJB3 web service and use a ServiceInvoker to get the data into the bus?

      any help will be appreciated