【发布时间】:2014-09-22 07:14:10
【问题描述】:
我正在尝试在我的 Hybrid Worklight 应用程序中注册用户。为此,我使用了外部 REST API。 API 说:
- 请求方法:POST
- 请求网址:https://${domainservice}/service/plan/${planName}/user?key=${key}&tenantId=${tenantId}
- 请求标头:Content-Type:application/json
请求负载:
{ “uid”:“帕特里夏”, "firstName": "帕特里夏", "lastName": "梅奥", “图片”:“BASE64_ENCODED_IMAGE” }
字段说明:
- uid(必填):用户的uid
- firstName(可选):用户的名字
- lastName(可选):用户的姓氏
- pic(可选):用户图片编码为base64字符串
所以我创建了一个 HTTP Worklight 适配器:
function RegisterUser(userid) {
var input = {
method : 'post',
path : '/service/plan/App/user',
returnedContentType : 'plain',
headers: {'Content-Type' : 'application/json'},
parameters: {
'key':'e634bc60-0c6eba577258',
'tenantId': 'd93b921d-a56c-a645924fd548'
},
body : {
'contentType' : 'application/json',
'content' : JSON.stringify({
"uid" : userid})
}
};
return WL.Server.invokeHttp(input);
}
我得到这个错误:
{ "errors": [
],
"info": [
],
"isSuccessful": true,
"responseHeaders": {
"$wsep": "",
"Connection": "Keep-Alive",
"Content-Language": "en-US",
"Content-Type": "text\/html;charset=ISO-8859-1",
"Date": "Wed, 30 Jul 2014 14:47:27 GMT",
"Transfer-Encoding": "chunked",
"X-Backside-Transport": "FAIL FAIL",
"X-Client-IP": "199.127.32.67",
"X-Global-Transaction-ID": "48515650",
"X-Powered-By": "Servlet\/3.0"
},
"responseTime": 357,
"statusCode": 500,
"statusReason": "Internal Server Error",
我觉得我设置很奇怪
标题:{'Content-Type' : 'application/json'}
但在响应中看起来像
“内容类型”:“text/html;charset=ISO-8859-1”
另外我想指出一些我已经尝试过的事情:
returnedContentType : 'plain' --> 设置为 plain 因为如果我将其设置为 json 我会收到 JSON 解析错误
-
正文内容我也试过了
var payload = "{\'uid\': \'"+userid+"\'}"; payload = payload.toString();然后
'content' : payload 使用浏览器的 RESTClient 一切正常
我尝试使用http 80端口,http 2080端口,还有https 443
我也尝试在标题中写入主机
【问题讨论】:
标签: json rest ibm-mobilefirst worklight-adapters