用于上传ear文件的BW REST API

问题描述 投票:0回答:1

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

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

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

bwagent日志文件中的错误是

2019-04-01 10:10:3​​7.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 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 tibco
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.