2017-11-03 9 views
0

私はballerina(ballerina 0.91)サービスを実装して、localhost上で動作するhttps RESTサービスを呼び出しました。私はそのサービスを呼び出すためにhttp:ClientConnectorを使いました。これは私のサンプルコードです。Ballerinalangでlocalhost https RESTサービスを起動できず、タイムアウトエラーが発生しましたか?

http:ClientConnector clientConnector = create http:ClientConnector("https://localhost:9445/"); 
string token = "admin:admin"; 
string auth = utils:base64encode(token); 
message request = {}; 
messages:setHeader(request,"Basic ",auth); 
message response = clientConnector.get("bpmn/runtime/process-instances/",request); 

ここで私はWSO2 EIのビジネスプロセスとやりとりします。

問題は、このサービスを通常は応答しなかったか、以下のようなエラーが出たときです。

error: ballerina.lang.errors:Error, message: failed to invoke 'get' action in ClientConnector. response was not received within sender timeout of 180 seconds 
    at ballerina.net.http:ClientConnector.get(<native>:0) 
    at org.wso2.ballerina.connectors.basicauth:ClientConnector.get(org/wso2/ballerina/connectors/basicauth/ClientConnector.bal:28) 
    at .:main(MainFile.bal:21) 
+0

最新のバレリーナバージョン(0.95.0)でこれを試してみることはできますか?以前のバージョンでは0.91以降に修正されたHTTPSに問題がありました。 – Pubudu

+0

0.95で試しました。しかし、それはまたヌル応答を与える。 –

答えて

2

ここでは、0.95.0の作業サンプルがあります。私はポストマン基本認証エンドポイントを使用しています。

import ballerina.net.http; 
function main(string[] args) { 
    endpoint<http:HttpClient> httpConnector{ 
     create http:HttpClient("https://postman-echo.com",{}); 
    } 
http:Request req = {}; 
http:Response resp = {}; 
req.addHeader("Authorization", "Basic cG9zdG1hbjpwYXNzd29yZA=="); 
resp,_ = httpConnector.get("/basic-auth",req); 
println("Auth request:"); 
println(resp.getJsonPayload()); 
} 
2

私は、WSO2-EIの証明書をBallerina client-truststore.jksファイルに追加することで問題を解決しました。

関連する問題