0
votes

hi i have a below logic to install both war and ear files being in warpath into websphere. after running the script it installs both war and ears successfully but during server stratup its throwing error only for ear file. if i use same commandlogic to execute directly on wsadmin for ear file installation it works fine and even server comes up without error,can any one analyse whats going wrong in the script

ERROR:org.springframework.beans.factory.access.BootstrapException: Unable to initialize group definition. Group resource name [classpath*:beanRefContext.xml], factory key [netbanksrv.context]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'netbanksrv.context' defined in URL [wsjar:file:/D:/IBM/WebSphere8/AppServer/Profiles/AppSrv12/installedApps/BLRVSWASBFT01Node10Cell/netbanksrv-ear.ear/lib/netbanksrv-core-5.4.3.jar!/beanRefContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [pegasus.framework.spring.context.MethodCachingClassPathXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genAccountServices.WSDLResource' defined in URL [wsjar:file:/D:/IBM/WebSphere8/AppServer/Profiles/AppSrv12/installedApps/BLRVSWASBFT01Node10Cell/netbanksrv-ear.ear/lib/integration-1.3.0.jar!/META-INF/spring/AccountServices-ws-springintegration.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [pegasus.integration.framework.HttpClientUrlResource]: Constructor threw exception; nested exception is java.net.MalformedURLException: no protocol: null

my logic:

for fname in os.listdir(warPath):
        if fname.endswith(".ear") or fname.endswith(".war"):
            file_list.append(fname)


    for i in range(len(file_list)):
        earFile=file_list[i]
        letter=earFile[0]

        if (letter == "a"):
            applicationName="admin-guiwar"
            installApp(cellName, nodeName, serverName, earFile, applicationName);
            classldr(applicationName)
        if (letter == "i"):
            applicationName="internetbank-guiwar"
            installApp(cellName, nodeName, serverName, earFile, applicationName);
            classldr(applicationName)
        if (letter == "m"):
            applicationName="mobilegateway"
            installApp(cellName, nodeName, serverName, earFile, applicationName);
            classldr(applicationName)
        if (letter == "n"):
            applicationName="netbanksrv-ear"
            installApp(cellName, nodeName, serverName, earFile, applicationName);
            classldr(applicationName)

def installApp (cellName, nodeName, serverName, warFileName, applicationName):
    fullPath = warPath+"/"+warFileName
    node = "-node "+nodeName
    cell = "-cell "+cellName
    svr = "-server "+serverName
    appName = "-appname "+applicationName
    AdminApp.install(fullPath, [node, cell, svr, appName])
1

1 Answers

0
votes

Your deploy script is OK. But you have a different issue with Spring:

 Could not instantiate bean class [pegasus.integration.framework.HttpClientUrlResource]: Constructor threw exception; nested exception is java.net.MalformedURLException: no protocol: null

I think you have to set class loader policy to PARENT_LAST for your application.

WAS Classloader Best Practices