应该上传和部署web-app的功能无法正常工作

时间:2017-10-09 08:21:13

标签: python wildfly web-deployment

我通过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")

因此应用程序正在运行,但无法运行。 有人可以给我一个提示,它有什么问题吗?

1 个答案:

答案 0 :(得分:1)

部署名称需要以有效的归档扩展名结束,以便进行适当的处​​理。在您的情况下,它应以.war结尾。

json_end应如下所示。

json_end = '"}}], "address": [{"deployment":"'+ app + '.war"}],"operation":"add", "enabled":"true"}'