1
votes

I have two mule projects each referencing a domain project.

enter image description here

The domain project contains the common HTTP Listener Configuration.

I am trying to deploy the application using the Mule Standalone Server. When I am putting the zip file in the “app” folder under MULE_HOME, I find that the applications are deployed but I cannot retrieve the response using SOAP UI.

It is giving “No listener at the endpoint” as response.

But if I put the zip files in the “domain” ” folder under MULE_HOME, I find that everything is working fine.

Can anyone help me with how this Mule Standalone Server internally works for both types of applications-one whose domain is “default” and another which has a particular domain associated with it?

Also, while deploying the application with the particular domain, I found that the zip file name should be the same as the domain project- test_domain_project(here). Otherwise it gives error. Why is it so?

I am using Mule Enterprise Standalone Server version 3.8.

enter image description here

1

1 Answers

2
votes

You can deploy domains in two ways:

  1. Deploying your domain in MULE_HOME/domains folder first, then deploying your app(s) in the MULE_HOME/apps folder. In this case you need to deploy your domain first, then your app(s) (or copy both domains and apps in their corresponding folders when Mule is stopped, on startup Mule will ensure domain is deployed first)
  2. Deploying your domain as a bundle in MULE_HOME/domains. Your apps needs to be "bundled" in your domain, meaning the apps zip packages needs to be included in your domains zip package. Your my-domain.zip file will then contain something like: |- mule-domain-config.xml |- apps/ | |- my-app.zip | |- another-app.zip |- lib/

I resume what is documented in the Mule Shared Resources doc.

When I am putting the zip file in the “app” folder under MULE_HOME, I find that the applications are deployed but I cannot retrieve the response using SOAP UI.

Are you deploying all the zip files (including the domain zip file) under MULE_HOME/apps/ folder? This won't work: you must put your domain zip file under the domains/ folder, and the apps zip file under apps/ folder

But if I put the zip files in the “domain” ” folder under MULE_HOME, I find that everything is working fine.

You probably are deploying your apps+domain as a bundle (second way I described), so it's working all right ;)

Also, while deploying the application with the particular domain, I found that the zip file name should be the same as the domain project- test_domain_project(here). Otherwise it gives error. Why is it so?

I suspect (though it is not documented) that Mule will use the app or domain zip filename as the app/domain name itself, ignoring the name configured in the .xml files. For example, if you create a domain named 'my-banana-domain' but rename the zip file 'my-pear-domain.zip' and deploy it, Mule will create a domain folder 'my-pear-domain' and register a domain named 'my-pear-domain'. However your apps will still have an association with 'my-banana-domain' but Mule will only have a domain named 'my-pear-domain'.

TL;DR Mule uses the domain zip filename as the domain name for associating applications, thus your error.