if ((appType != DeploymentConstants.EAR) &&
(appType != DeploymentConstants.EJB) &&
(appType != DeploymentConstants.WAR))
{
String msg = localStrings.getString( "admin.server.core.mbean.config.expected_application_type" );
throw new AFException( msg );
}
String wsdlFileLocation = null;
try
{
ConfigContext serverContext = getConfigContext(mInstanceName);
InstanceEnvironment iEnv = new InstanceEnvironment(mInstanceName);
Applications applicationsConfigBean =
(Applications) ConfigBeansFactory.getConfigBeanByXPath(
serverContext, ServerXPathHelper.XPATH_APPLICATIONS);
String appLocation = null;
AbstractArchive moduleArchive = null;
switch (appType)
{
case DeploymentConstants.EAR :
AppsManager appsManager = new AppsManager(iEnv);
appLocation = appsManager.getGeneratedXMLLocation(appName);
if (appLocation == null || !FileUtils.safeIsDirectory(appLocation)) {
J2eeApplication app = applicationsConfigBean.
getJ2eeApplicationByName(appName);
appLocation = app.getLocation();
}
break;
case DeploymentConstants.EJB :
EjbModulesManager ejbManager = new EjbModulesManager(iEnv);
appLocation = ejbManager.getGeneratedXMLLocation(appName);
if (appLocation == null || !FileUtils.safeIsDirectory(appLocation)) {
EjbModule module = applicationsConfigBean.
getEjbModuleByName(appName);
appLocation = module.getLocation();
}
break;
case DeploymentConstants.WAR:
WebModulesManager webManager = new WebModulesManager(iEnv);
appLocation = webManager.getGeneratedXMLLocation(appName);
if (appLocation == null || !FileUtils.safeIsDirectory(appLocation)) {
WebModule webModule = applicationsConfigBean.
getWebModuleByName(appName);
appLocation = webModule.getLocation();
}
break;
}
FileArchive appArchive = new FileArchive();
appArchive.open(appLocation);
if (moduleName!=null) {
moduleArchive = appArchive.getEmbeddedArchive(moduleName);
} else {
moduleArchive = appArchive;
}
wsdlFileLocation = moduleArchive.getArchiveUri() + java.io.File.separator +
wsdlFileUri.replace('/', java.io.File.separatorChar);
}
catch (Exception e)
{
throw new AFException(e.getLocalizedMessage());
}
return wsdlFileLocation;
}