繁体   English   中英

用于上传ear文件的BW REST API

[英]BW REST API for uploading an ear file

当我尝试使用BW Agent REST API将新应用程序部署到域中时,它需要首先上载ear文件。 当我尝试上传生成的.ear文件时,但此POST调用失败并出现HTTP 415错误。 此REST API正在尝试POST一个EAR文件,其中有关标题的错误。

HTTP://本地主机:8079 / BW / V1 /域/ MYDOMAIN /档案取代=真的吗?

内容类型=应用/八位字节流

bwagent日志文件中的错误是

2019-04-01 10:10:3​​7.732 WARN [qtp2022768790-59] ogjersey.servlet.WebComponent - 对URI的servlet请求http:// localhost:8079 / bw / v1 / domains / Test / archives?file = file% 3AC%3A%5CUsers%5Ceilmmpw%5CDocuments%5CProcess.Stub.application_1.0.0.ear在请求正文中包含表单参数,但请求正文已被servlet或访问请求参数的servlet过滤器使用。 只有使用@FormParam的资源方法才能按预期工作。 通过其他方式使用请求主体的资源方法将无法按预期工作。

我尝试使用Content-Type = multipart / form-data并附加ear文件,但它因代理日志文件中的错误而导致HTTP 500错误而失败

2019-04-09 10:18:50.819 WARN [qtp1124804249-81] oejetty.servlet.ServletHandler - javax.servlet.ServletException:org.glassfish.jersey.servlet.WebComponent.service中的java.lang.NullPointerException(WebComponent.java: 485)〜[jersey-container-servlet-core-2.21.1.jar:na]

自从我上次使用REST API直接部署应用程序以来已经有一段时间了(使用bwadmin cli工具是一种更简单的方法,适用于大多数平台和CI / CD工具),但我不太确定Content-type=application/octet-stream是正确的内容类型。

您看到的错误消息来自Jersey服务器,这意味着您要将数据发送到需要表单数据的端点( Content-Type=multipart/form-data )。 你可以尝试看到正确的调用是:

  • 使用apiserver命令启动bwagent( bwserver apiserver
  • 打开浏览器并转到http://<hostname>:5555 (除非您将bw.agent.http.host属性设置为其他数字)

这将打开BWAgent的Swagger文档,并允许您从那里尝试呼叫。 使用它,它将显示执行的实际命令,包括需要设置的HTTP头参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM