worklight适配器不从javascript调用

时间:2016-10-16 12:45:49

标签: ibm-mobilefirst

Adpater正在运行,通过调用适配器选项进行检查。 但是从Javascript调用没有响应 传递越来越有价值说123456, 但没有得到回应,没有成功,没有失败。

POST.xml

         

    <displayName>POST</displayName>
    <description>POST</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>http</protocol>
            <domain>164.100.222.200</domain>
            <port>80</port>

            <connectionTimeoutInMilliseconds>60000</connectionTimeoutInMilliseconds>
            <socketTimeoutInMilliseconds>60000</socketTimeoutInMilliseconds>
            <maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
    </connectivity>

    <procedure name="trackerLogin" />
    <procedure name="setTrackerLocation" />
    <procedure name="getTrackerLocation" />
    <procedure name="updateStatus" />
</wl:adapter>

// POST-impl.js

         function trackerLogin() {
        var input = {
        method : 'get',
        returnedContentType : 'json',
        path : '/WomenSafety/api/TrackerLogin/123456789012345?Password=123456'
    };return WL.Server.invokeHttp(input);
    }

// Main.js

     function login(pass)
    {
        busyIndicator.show();
        //var imei='123456789012345';

        if(pass!=='')
            {

             var invocationData = {
                     adapter : "POST",
                     procedure : "trackerLogin",
                     parameters : []
                 };

             WL.Client.invokeProcedure(invocationData,{
                 onSuccess : function(resp) {                       
                                  alert('1111');    
                                  },
                 onFailure : function(resp) {
                      alert('2222');        
                      },
             });

        /*  var ONE_MINUTE = 60 * 1000; 
            var options = {   
                      onSuccess : loginSuccess, 
                      onFailure : loginFailure,
                      timeout : ONE_MINUTE
                    };


         var invocationData = {
                 adapter : 'POST',
                 procedure : 'trackerLogin',
                 parameters : [imei,pass]
             };*/

        // WL.Client.invokeProcedure(invocationData, options);
         alert('@@-'+pass);

            }

        else
            {
            alert('Enter Password');
            }
        busyIndicator.hide();
    }
 function loginSuccess(result)
{
//var status=result.statusCode;
alert('1111');
if(status==200)
    {
    alert('Login'); 
    }
     else
    {alert('Network Error');}
  }
  function loginFailure(result)
        {alert('Server Error');}

1 个答案:

答案 0 :(得分:0)

  1. 确保在适配器XML中,您将host属性指向适配器应连接到的服务器的实际IP地址。即 localhost
  2. 确保设备和MobileFirst Server 连接到同一网络
  3. 在适配器请求失败后打印您在客户端收到的错误,并对其采取行动:http://www.ibm.com/developerworks/websphere/techjournal/1212_paris/1212_paris.html
  4. 在客户端,在功能之前,之内和之后放置alert()以确保您实际输入它(您还可以在Chrome DevTool中使用断点调试JavaScript ...),然后打印你传递的对象的值,看看那里发生了什么。

    您还可以使用Wireshark检查网络,以查看请求发送后发生的情况。

    如果你没有得到任何东西,这听起来像是一个网络问题。