我可能不是第一个尝试使用 Webmethods Service 的 JIRA REST API 向 JIRA 添加附件的人。所以希望有人能提供帮助。
有两个问题,一个与 JIRA REST API 有关,两个与 Webmethods MIME 服务(版本 9.8)有关。
构建 addAttachment 服务,使用 JIRA REST API 将 json inputStream 作为附件添加到 JIRA。
在 webmethods 中使用以下服务,
pub.string:stringtoBytes.
pub.io:bytestoStream.
pub.mime:createMimeData.
pub.mime:addBodyPart.
pub.mime:getEnvelopeStream.
pub.io:streamToString.
pub.client:http.
它产生的 Mime Stream 如下,(1.问题 1,虽然在 addBodyPart 中,我们将消息头设置为 application/json,但它似乎被覆盖并设置为自己的解释?2.问题 2,虽然边界在标题中设置为mmmm,Webmethods似乎使用自己的边界值)请您帮忙解决这个问题。如果需要,可以提供屏幕截图。
Message-ID: <786753280.135.1438880433399.JavaMail.webm@ruudwmia01>
MIME-Version: 1.0
Content-type: multipart/form-data
boundary: mmmm
name: file
filename: test.json
------=_Part_134_59669361.1438880433399
Message-ID: <902143670.133.1438880433399.JavaMail.webm@ruudwmia01>
MIME-Version: 1.0
content-type: text/plain
content-transfer-encoding: 7bit
{"self": "http://localhost:8090/jira/rest/api/2.0/status/10000","description": "The issue is currently being worked on.","iconUrl":"http://localhost:8090/jira/images/icons/progress.gif","name": "In Progress","id": "10000","statusCategory":{"self":"http://localhost:8090/jira/rest/api/2.0/statuscategory/1","id": 1, "key":"in-flight","colorName": "yellow","name": "In Progress" }}
------=_Part_134_59669361.1438880433399--
问题 2,使用 JIRA REST API,上述 mime 文档作为输入抛出 415 Unsupported Media Type,从 HTTP POST CALL 到 URL,尝试通过调用 JIRA REST API 添加附件。
它是一个http客户端POST调用,传入一个mime对象——作为流,传入的mime流为ABOVE,得到415,不支持的媒体类型错误消息。JIRA 日志中没有任何内容。