Soap wsadmin adminApp.update java.net.UnknownHostException完全限定主机名

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% -

尝试通过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% -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后,部署将成功进行