2014-09-01 86 views
0

我已經使用HTTP適配器和成功發送的請求發送查詢請求與參數IBM工作燈

,但我不能與參數做

我想發送的參數cmd=login

如何把它放在parameter = []

var invocationData = { 
     adapter : 'RSSReader', 
     procedure : 'login', 
     parameters :[] 
    }; 

---------------------- update -------------------- -----------

我嘗試官方參數格式

var invocationData = { 
     adapter : 'HTTPAdapter', 
     procedure : 'login', 
     parameters :[{name : 'cmd', value : 'login'}] 
    }; 

,但仍然沒有任何響應?

<?xml version="1.0" encoding="UTF-8"?> 
<displayName>HTTPAdapter</displayName> 
<description>HTTPAdapter</description> 
<connectivity> 
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
     <protocol>http</protocol> 
     <domain>my-ip-address</domain> 
     <port>80</port> 
     <!-- Following properties used by adapter's key manager for choosing specific certificate from key store 
     <sslCertificateAlias></sslCertificateAlias> 
     <sslCertificatePassword></sslCertificatePassword> 
     -->  
    </connectionPolicy> 
    <loadConstraints maxConcurrentConnectionsPerNode="2" /> 
</connectivity> 

<procedure name="login"/> 

,這是適配器IMPL

function login() { 

var input = { 
    method : 'post', 
    returnedContentType : 'json', 
    path : '/sp/api/' 
}; 

return WL.Server.invokeHttp(input);} 
+0

這個變量是什麼?什麼是「cmd」?它來自HTML嗎?你只是嘗試'參數:['cmd = login']'? – 2014-09-01 06:46:34

+0

'cmd'是關鍵,'login'是值,這是一個http post請求 – Bboy820602 2014-09-01 07:20:04

+0

它仍然不夠清楚 - 這個鍵的目的地是什麼:value?進入一個URL路徑?在場景中更清晰。 – 2014-09-01 07:27:40

回答

0

看看在-impl.js文件中新creatd HTTP適配器提供的例子。
你可以做到這一點,像這樣:

客戶端的JavaScript

var invocationData = { 
    adapter : 'myAdapter', 
    procedure : 'myProcedure', 
    parameters :['cmd=login'] 
}; 
... 
... 

適配器XML

... 
... 
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> 
    <protocol>http</protocol> 
    <domain>www.example.com</domain> 
    <port>80</port> 
</connectionPolicy> 

適配器的JavaScript

function myProcedure(myParameter) { 
    path = getPath(myParameter); 

    var input = { 
     method : 'get', 
     returnedContentType : 'xml', 
     path : path 
    }; 

    return WL.Server.invokeHttp(input); 
} 

function getPath(myParameter) { 
    return ("?" + myParameter); 
} 
+0

好的謝謝!我會盡力。 – Bboy820602 2014-09-01 07:54:13

+0

它可以進一步簡化,但這應該工作。 – 2014-09-01 08:15:52

+0

我在官方文檔 – Bboy820602 2014-09-03 02:56:46