Soap wsadmin adminApp.update java.net.UnknownHostException完全限定主机名
尝试通过SOAP连接将EAR文件部署到WebSphere enterprise app 命令行:Soap wsadmin adminApp.update java.net.UnknownHostException完全限定主机名,soap,deployment,websphere,Soap,Deployment,Websphere,尝试通过SOAP连接将EAR文件部署到WebSphere enterprise app 命令行: call wsadmin -conntype SOAP -host %WAS_HOST% -port %WAS_PORT% -user %WAS_USER% -password !WAS_PASSWORD! -lang jython -c "AdminApp.update('%APP_NAME%', 'app', '[ -operation update -contents %EAR_FILE% -
call wsadmin -conntype SOAP -host %WAS_HOST% -port %WAS_PORT% -user %WAS_USER% -password !WAS_PASSWORD! -lang jython -c "AdminApp.update('%APP_NAME%', 'app', '[ -operation update -contents %EAR_FILE% -usedefaultbindings -defaultbinding.virtual.host default_host -nopreCompileJSPs -installed.ear.destination $(APP_INSTALL_ROOT)/%WAS_HOST%Network -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -deployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -MapModulesToServers [[ %MODULE_NAME% %WAR_FILE%,WEB-INF/web.xml WebSphere:cell=%WAS_HOST%Network,cluster=%CLUSTER%+WebSphere:cell=%WAS_HOST%Network,node=%WEB_NODE%,server=%WEB_NODE% ]]]' )"
从windows上的生成计算机发出。其中WAS\u HOST=MySrvrA.mycop.com
运行此命令时,我得到
WASX7209I:使用SOAP连接器连接到节点EAGNMCOM0CBManager上的进程“dmgr”;流程的类型是:DeploymentManager
WASX7015E:异常运行命令:“AdminApp.update…”
..例外信息: com.ibm.websphere.management.filetransfer.client.TransferFailedException java.net.UnknownHostException:java.net.UnknownHostException:MySrvrA WebSphere App server位于Linux上,/etc/hosts文件包含以下内容: IP地址完全限定主机名短主机名 # 127.0.0.1本地主机 特殊IPv6地址::1本地主机IPv6本地主机IPv6环回 fe00::0 ipv6 localnet ff00::0 ipv6 mcastprefix ff02::1 ipv6所有节点ff02::2 ipv6所有路由器 ff02::3 ipv6所有主机 56.xxx.xxx.xxx MySrvrA.mycop.com MySrvrA 此服务器只能通过完全限定的主机名通过internet访问。 要解决问题,我必须 1) 运行命令
call wsadmin -conntype SOAP -host %WAS_HOST% -port %WAS_PORT% -user %WAS_USER% -password !WAS_PASSWORD! -lang jython -c "print Help.help()"
这是可行的,并且应该证明从构建机器到WAS服务器的连接是良好的
2) 为了进一步证明AdminApp.update及其解析参数有效,我已完整运行了AppAdmin.update:
AdminApp.update('%APP_NAME%', 'app', '[ -operation update -contents %EAR_FILE% -usedefaultbindings -defaultbinding.virtual.host default_host -nopreCompileJSPs -installed.ear.destination $(APP_INSTALL_ROOT)/%WAS_HOST%Network -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -deployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -MapModulesToServers [[ %MODULE_NAME% %WAR_FILE%,WEB-INF/web.xml WebSphere:cell=%WAS_HOST%Network,cluster=%CLUSTER%+WebSphere:cell=%WAS_HOST%Network,node=%WEB_NODE%,server=%WEB_NODE% ]]]' )
直接在WAS服务器上。它可以工作,并且应该证明AdminApp.update及其选项和参数是好的
在我看来,通过SOAP部署,AdminApp.update截断了WAS_主机,并且没有使用完全限定的主机名
我做错了什么,如何解决这个问题
我有另一个可以通过短主机名从Internet访问的机器集,同一个命令行可以通过SOAP连接器完美地工作。结果是安全限制导致了这个问题 目标WAS服务器位于DMZ.com中,而生成计算机位于蓝色的.xxx中,基于组织的安全策略,不允许将文件从.xxx传输到.com 将目标WAS服务器添加到生成计算机的C:\Windows\System32\Drivers\etc\hosts后,部署将成功进行