通过HTTP Adapter MFP 7.1调用REST WebServices

时间:2016-09-08 13:09:59

标签: javascript ionic-framework ibm-mobilefirst mobilefirst-adapters

我们正在使用MFP7.1开发IONIC App。我们正在尝试使用HTTP适配器调用REST Web服务来获取一些数据。

我有以下适配器实现文件,

 function getFeed(username,password) {
  var data = {
    "username" : username,
    "password" : password
  };

    var input = {
        method : 'post',
        returnedContentType : 'plain',
        path : 'PATH HERE',
     body: {
        content: data.toString(),
        contentType: 'application/json; charset=utf-8;',
      },
    };
  return WL.Server.invokeHttp(input);
 }

这是adapter.xml,

<mfp:adapter name="http"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:mfp="http://www.ibm.com/mfp/integration"
             xmlns:http="http://www.ibm.com/mfp/integration/http">
  <displayName>http</displayName>
    <description>http</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>http</protocol>
      <domain>DOMAIN NAME HERE</domain>
      <port>PORT NO HERE</port>
            <connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
            <socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>
            <maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
        </connectionPolicy>
    </connectivity>
  <procedure name="getFeed"/>
</mfp:adapter>

我们执行了以下操作来调用我的离子提供程序中的适配器

 var resourceRequest = new WLResourceRequest("adapters/http/getFeed", WLResourceRequest.GET);
   resourceRequest.setQueryParameter("params", "['username', 'password']");
   resourceRequest.send().then(
       function(response) {
            alert('response   '+JSON.stringify(response.responseText));
       },
       function(response) {
            alert("HTTP Failure  "+JSON.stringify(response));
       }
   );

我在错误日志中收到以下错误

  

“错误\”:[],\ “信息\” “的StatusCode \”:400} “ ”responseJSON“:{ ”statusReason“:” 坏   请求”, “responseHeaders响应”:{ “传输编码”: “分块”, “服务器”: “Apache的狼/ 1.1”, “连线”: “关闭”, “内容类型”: “text / plain的”} “isSuccessful”:真实的,“灿   不要在这里反序列化WEBSERVICE实体的实例。用户出来   START_ARRAY令牌\ n在[Siyrce.org.apache.catal.inc.connector .......

1 个答案:

答案 0 :(得分:0)

根据评论中的建议,尝试将.toString()更改为JSON.stringify

content:
    JSON.stringify(data)