我正在使用worklight适配器来实现restful web服务。但我无法得到任何成功的回应。
这是我的适配器:
function getTest(username,password) {
var path = "http://test.mybluemix.net";
var request = 'username='+username+'&'+'password='+password;
var input = {
method : 'get',
returnedContentType : 'plain',
path : path,
headers: {
"Host":"http://test.mybluemix.net"
},
body : {
contentType: 'text/xml; charset=UTF-8',
content: request.toString()
}
};
return WL.Server.invokeHttp(input);
}
当我调用适配器时,我得到了回复..
响应标头是连接关闭,X-Backside-Transport失败
通常我必须在网址上方点击其工作正常http://test.mybluemix.net/?username=sssss&password=dffa
response : {"ID":"5","USERNAME":"sassad","PASSWORD":"adsa","ROLE":"abc","PHONENUMBER":"12345678"}
答案 0 :(得分:0)
有些事情对我来说是错误的。
path
变量不应指向主机名。它应该是之后的部分:
在适配器XML文件中,您可以定义协议,主机和端口值
然后提供路径,例如:http://myhost:8080/THE-PATH
。在这种情况下,我认为您不需要它,因为根据您的工作URL示例,没有实际路径 - 只有参数,请求。
我不确定您需要host
标头。先试试吧......
试试这个。希望这会起作用。
function getTest(username,password) {
var request = 'username='+username+'&'+'password='+password;
var input = {
method : 'get',
returnedContentType : 'plain',
path : path,
//headers: {
// "Host":"http://test.mybluemix.net"
// },
body : {
contentType: 'text/xml; charset=UTF-8',
content: request.toString()
}
};
return WL.Server.invokeHttp(input);
}