Hi,

 

I'm running into problems trying to get Muse to run in an OSGi
configuration with web services in more than one bundle.  The idea is
that I would like to package web services into different bundles and
enable/disable them by adding/removing them from my Equinox install.

 

For example, if I have two services "Add" and "Subtract" I would like to
be able to run them independently of each other.  Currently I have two
separate bundles installed in my "plug-ins" directory.  Each has it's
own "OSGI-INF/muse.xml," and each works fine when run separately.  For
example, if I run just the "Add" service I can access it at
http://localhost:80/Add/services/Add <http://localhost/Add/services/Add>
and get the expected results.  Similarly, if I run just the Subtract
service I can point a client at
http://localhost:80/Subtract/services/Subtract
<http://localhost/Subtract/services/Subtract>  and, again I get the
expected results.

 

When I try to run both at the same time, however, the platform gets
confused.  Calls to "Add" will work, but calls to "Subtract" fail.  If I
try to access the service through
http://localhost:80/Subtract/services/Subtract
<http://localhost/Subtract/services/Subtract>  the WSDL I get the
following error message:

 

ID = 'DestinationUnreachable'] There is no resource available at the
given EPR: 

 

<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing";>

 
<wsa:Address>http://localhost:80/Subtract/services/Subtract</wsa:Address
>

</wsa:EndpointReference>

 

The existing EPRs hosted by this endpoint are: 

 

<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing";>

    <wsa:ReferenceParameters
xmlns:wsa="http://www.w3.org/2005/08/addressing"/>

    <wsa:Address>http://localhost/Add/services/Subtract</wsa:Address>

</wsa:EndpointReference>

 

So it's getting stuck on the "Add" context I setup in the Add service
bundle.  I then modified my client to point at
".../Add/services/Subtract" and got the following error on the client:

 

Document root element is missing.

 

With no errors on the server.  In fact, the muse logs show incoming SOAP
packets, but nothing else (not even an error log).

 

It seems like Muse is getting confused because of the two different
"muse.xml" configuration files, and it definitely seems to be getting
stuck on the first one it reads, which makes sense, but I'm stumped as
to how to configure muse to load the services separately.

 

Is there any way to dynamically add (and remove) web services to Muse at
runtime?  Is there any documentation to which someone can point me?  I
have read through the tutorial and the parts of the reference manual
that mention the muse.xml, but I haven't found anything there (yet) that
indicates how to install web services after the initial configuration is
complete.

 

Thanks,

Bob

 

 

 

 

 

Reply via email to