wasx7109e:安装任务“mapresreftoejb”的数据不足

xa9qqrwz  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(458)

我有一个web应用程序,它是用war文件安装在websphere上的。我正在尝试通过python脚本在websphere上自动部署webapplication。脚本如下:


### cat deplApps.py

import time

# the 3 arguments are jvm name, ent app name, and path to war file

print "Args are:" , sys.argv
SERVERMBEAN = AdminServerManagement.queryMBeans("AppSrvNode01", sys.argv[0] , "Server")
if SERVERMBEAN == [] :
        print "Server is in stopped state"
else :
        AdminServerManagement.stopSingleServer("AppSrvNode01", sys.argv[0] )

print "sleeping for 10 seconds"
time.sleep(10)
AdminApplication.updateApplicationUsingDefaultMerge( sys.argv[1],  sys.argv[2] )
AdminConfig.save()

time.sleep(10)
Sync1 = AdminControl.completeObjectName('type=NodeSync,process=nodeagent,node=AppSrvNode01,*')
AdminControl.invoke(Sync1, 'sync')
print "sleeping for 120 seconds before starting the server"
time.sleep(120)
AdminServerManagement.startSingleServer("AppSrvNode01", sys.argv[0] )

当我运行脚本在websphere上部署war文件时,出现以下错误:
异常:<type'com.ibm.ws.scripting.scriptingexception'>com.ibm.ws.scripting.scriptingexception:wasx7109e:安装任务“mapwebmodtovh”的数据不足
adma0010e:为web模块选择虚拟主机时出现验证错误。未为uri为agriworxapp.war、web inf/web.xml的web模块工作队列指定虚拟主机。“wasx7017e:运行文件“/apps/deploy/deplaps.py”时收到异常;异常信息:com.ibm.ws.scripting.scriptingexception:wasx7109e:安装任务“mapwebmodtovh”的数据不足
当我搜索错误时,它说我必须在war文件中提供ibm-web-bnd.xml ibm-web-ext.xml,所以我在war文件中提供了填充的ibm-web-bnd.xml和ibm-web-ext.xml文件;
ibm-web-bnd.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-bnd 
    xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-bnd_1_0.xsd"
    version="1.0">

    <virtual-host name="default_host" 
    <resource-ref>
   <description>Work Queues</description>
   <res-ref-name>jdbc/WorkQueuestDS</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>/>
</web-bnd>

ibm-web-ext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-ext
   xmlns="http://websphere.ibm.com/xml/ns/javaee"
   xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
      version="1.0">

   <default-error-page uri="error.jsp"/>
   <jsp-attribute name="useThreadTagPool" value="true" />
   <jsp-attribute name="verbose" value="false" />
   <jsp-attribute name="deprecation" value="false" />
   <jsp-attribute name="reloadEnabled" value="true" />
   <jsp-attribute name="reloadInterval" value="5" />
   <jsp-attribute name="keepgenerated"  value="true" />
   <jsp-attribute name="trackDependencies" value="true" />
   <reload-interval value="9"/>
   <auto-encode-requests value="true"/>
   <auto-encode-responses value="false"/>
   <enable-directory-browsing value="false"/>
   <enable-file-serving value="false"/>
   <pre-compile-jsps value="false"/>
   <enable-reloading value="true"/>
   <enable-serving-servlets-by-class-name value="true"/>
</web-ext>

现在我得到以下错误
异常:<type'com.ibm.ws.scripting.scriptingexception'>com.ibm.ws.scripting.scriptingexception:wasx7109e:安装任务“mapwebmodtovh”的数据不足
adma0010e:为web模块选择虚拟主机时出现验证错误。没有为uri为agriworxapp.war、web inf/web.xml的web模块工作队列指定虚拟主机。“

c8ib6hqw

c8ib6hqw1#

这个错误与 .bnd 或者 .ext 文件夹。命令 AdminApplication.updateApplicationUsingDefaultMerge 因为name stats用于更新现有应用程序,而不是安装新应用程序。如果你想安装你需要使用 AdminApplication.installXXX 命令。检查https://www.ibm.com/support/knowledgecenter/sseqtp_8.5.5/com.ibm.websphere.base.doc/ae/rxml_7libapp.html 所以你需要利用 AdminApplication.checkIfAppExists 命令并在此基础上安装或更新应用程序。
vh通常是was上的虚拟主机 default_host . 有时它是用来定制安装的看到这个了吗https://www.ibm.com/support/knowledgecenter/sseqtp_8.5.5/com.ibm.websphere.base.doc/ae/rxml_taskoptions.html#rxml_taskoptions__cmd61 但我不知道 AdminApplication 实际上是在利用它。

相关问题