【问题标题】:BW REST API for uploading an ear file用于上传 ear 文件的 BW REST API
【发布时间】:2019-04-01 13:31:58
【问题描述】:

当我尝试使用 BW 代理 REST API 将新应用程序部署到域中时,它需要先上传 ear 文件。当我尝试上传生成的 .ear 文件时,此 POST 调用因 HTTP 415 错误而失败。此 REST API 正在尝试发布一个 EAR 文件,该文件的标头有问题。

http://localhost:8079/bw/v1/domains/MYDOMAIN/archives?replace=true

Content-type=application/octet-stream

bwagent 日志文件中的错误是

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

我尝试使用 Content-Type=multipart/form-data 并附加 ear 文件,但由于代理日志文件中出现 HTTP 500 错误而失败

2019-04-09 10:18:50.819 警告 [qtp1124804249-81] o.e.jetty.servlet.ServletHandler - javax.servlet.ServletException:java.lang.NullPointerException 在 org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:485) ~[jersey-container-servlet-core-2.21.1.jar:na]

【问题讨论】:

  • BWAgent 在日志文件中给你什么样的错误信息?另外,您能否补充一下您正在尝试做的事情(例如部署新应用程序或将我的应用程序升级到新版本)?
  • 编辑了目标和错误细节

标签: rest tibco


【解决方案1】:

自从我上次直接使用 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 标头参数。

【讨论】:

  • 我尝试在 Postman 中使用 Content-type=multipart/form-data 查看stackoverflow.com/questions/16015548/…,但它也不起作用。 BWAgent 抛出空指针异常。我正在探索 HTTP API 而不是 bwadmin CLI,因为 HTTP API 命令可以从 bwadmin 必须在 BWAgent 运行的任何机器上运行
  • 上传存档文件正在使用下面的 CURL 命令 curl -X POST --form file=@/c/tmp/Process.Sample.application_1.0.0.ear localhost:8079/bw/v1/domains/testDom/archives?replace=true 有了这个,我能够自动完成部署过程 1.停止现有应用程序 2.上传新存档 3.如果有现有应用程序则取消部署 4.使用上传的耳朵部署新应用程序
猜你喜欢
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 2020-05-30
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多