【发布时间】:2015-08-06 17:34:39
【问题描述】:
我可能不是第一个尝试使用 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,虽然Header中的Boundary设置为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 流如上, 获取 415,不支持的媒体类型错误消息。 JIRA 日志中没有任何内容。
【问题讨论】:
标签: api rest jira attachment webmethods