我通过http rest appi在AS wildfly上获得了(重新)部署web应用程序的任务。 功能有效,但有问题。 功能:
def upload_and_deploy(server, app):
try:
pass
files = {'file': open(distr_path + '/app-01.001.02-028.war', 'rb')}
response = requests.post('http://' + server + ':9990/management/add-content', files=files, auth=HTTPDigestAuth('login', 'password')).text
response_converted_to_json = json.loads(response)
bytes_value_from_response = response_converted_to_json["result"]["BYTES_VALUE"]
json_start = '{"content":[{"hash": {"BYTES_VALUE" : "'
json_end = '"}}], "address": [{"deployment":"'+ app + '"}], "operation":"add", "enabled":"true"}'
full_json_for_deploy_request = json_start+bytes_value_from_response+json_end
print '>>>>>>', full_json_for_deploy_request
response = requests.post('http://' + server + ':9990/management', auth=HTTPDigestAuth('login', 'password'), data= (full_json_for_deploy_request), headers=headers)
print "Start", app, "code -", response.status_code
except requests.exceptions.ConnectionError:
print 'Server - %s not run' % server
结果看起来不错:
>>>>>> {"content":[{"hash": {"BYTES_VALUE" : "t3W62oVUihsqyINy9rRG/T3DuI4="}}], "address": [{"deployment":"app-name"}], "operation":"add", "enabled":"true"}
Start app-name code - 200
AS日志看起来不典型,但没有错误:
2017-10-09 10:07:07,688 INFO [org.jboss.as.repository] (XNIO-1 task-9) WFLYDR0001: Content added at location /opt/platform/wildfly-9.0.2.Final/standalone/data/content/b7/75bada85548a1b2ac88372f6b446fd3dc3b88e/content
2017-10-09 10:07:07,704 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) WFLYSRV0027: Starting deployment of "app-name" (runtime-name: "app-name")
2017-10-09 10:07:07,983 INFO [org.jboss.as.server] (XNIO-1 task-2) WFLYSRV0010: Deployed "app-name" (runtime-name : "app-name")
因此应用程序正在运行,但无法运行。 有人可以给我一个提示,它有什么问题吗?
答案 0 :(得分:1)
部署名称需要以有效的归档扩展名结束,以便进行适当的处理。在您的情况下,它应以.war
结尾。
json_end
应如下所示。
json_end = '"}}], "address": [{"deployment":"'+ app + '.war"}],"operation":"add", "enabled":"true"}'