Ok, so I like the idea of ServiceMix, but attempting to dive in
head-first seems to be a bad idea - there are just simply too many
options! And the documentation seems to be a bit lacking in the areas
I'm having trouble with.

My ultimate goal is the following:

One 'Service' which receives a SOAP message over HTTP and sends it on
over JMS (possibly transformed via XSL first).

One 'Service' which receives a SOAP message over HTTP, converts it
(possibly via XSL) to a flat, fixed-length record, and then sends it
over JMS. The response will also be a flat, fixed-length record, which
will need conversion. But let's ignore that one for now - I'll be very
happy if I can get the first one up and running.

However, since I don't actually have access to the *real* end-points
at the moment, what I need to do in the interim, to show that this
will work for us, is to create a simple 'hello world'-type response
for the above service. That is, I would create a JMS end-point in SM
which responds with a fixed (or semi-fixed) SOAP message, ideally
without writing any Java (XML is fine).

So, where am I stuck with this? At the beginning. I see there are a
number of different ways to deploy *stuff* to SM, but I can't find a
good description of what the differences are between them. Should I be
looking at creating a Blueprint? A Spring Module? An OSGi Module? A
Spring/OSGi module? A Service Unit with Service Assemblies? Are some
of these not applicable to what I'm trying to do? Are some of these,
in fact, actually the same thing, or a sub-set of another thing?

Now, having been looking at the documentation, I think that, once I've
figured out what sort of deployment object I need to create, I would
be using the servicemix-cxf-bc component, with a 'Consumer' endpoint,
and probably a 'Provider' endpoint too. The Consumer would be what I
would target from my application or from SoapUI, correct? And the
provider would be what I would use as a mock end-point?

This would a WSDL-first (well, preferably WSDL-only) SOAP deployment,
as we will be calling out to a web service that someone else is
providing over JMS. The WSDL does include a JMS binding, though I
would still likely need to configure the target address and queue and
so on.

And to configure JMS I will need a separate configuration file,
provided via the 'busCfg' option? I'm pretty sure that this JMS
configuration will not need to specify a reply queue - just a
destination queue, as ServiceMix/CXF will handle getting the reply
automatically, correct? I believe that it will generate a queue to use
for this request, and will include the name of that queue in the
headers of the JMS message it sends.

Assuming that's all correct, how do I actually generate a mock
response with the provider? I assume I need to use some form of Camel
Routing for that?

I apologise for all the questions, but I just can't quite get my head
around how SM is supposed to work, or where I need to look for
answers. Should I actually be reading the FuseESB documentation, as
that's based on SM?

Many, many thanks,

- Andrew Thorburn

Reply via email to