This turned out to be a result of the fact that Muse does not support more than one application context. I had defined a different application context for each web service in the META-INF/manifest.mf in each bundle. Muse ignored any context other than the first that it parsed, which caused confusion in the router later.
The MUSE-CONTEXT in the manifest must be set to the same value for all services. -----Original Message----- From: St Jacques, Robert [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 09, 2008 5:12 PM To: [email protected] Subject: Muse/OSGi with multiple web service bundles? 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
