-1

BonitaBPM への HTTP リクエストを使用して残りのファイルを送信しようとしていますが、送信しようとしているファイルが空になり、file get content を使用すると HTTP リクエストが明らかに機能しません。

$file_contents = file_get_contents("C:/inetpub/wwwroot/upload/Director.png"); 
$data1 = array(
    "caseId"=> $case_id[1],
    "file"=>"C:/inetpub/wwwroot/upload/Director.png",
    "name"=>"doc_invoice",
    "fileName"=> $_FILES['file_attach']['name'],
    "description"=> "Invoice"
);
//Structure of process data to start case
$options1 = array(
    "http" => array(
        "method"  => "POST",
        "header"=>  "POST /bonita/API/bpm/caseDocument  HTTP/1.1\r\n".
            "Host: bonita.libertypr.com\r\n".
            "Cookie: ". $display[1]."\r\n".
            "Content-Type: application/json\r\n" .
            "Accept: application/json\r\n".
            "Cache-Control: no-cache\r\n".
            "Pragma: no-cache\r\n".
            "Connection: Keep-Alive\r\n\r\n",
        "content" => json_encode($data1)
    )
);
//decode process data and adds document to case
$url1 = "http://bonita.libertypr.com:8081/bonita/API/bpm/caseDocument";
$context1  = stream_context_create($options1);
$result1 = file_get_contents($url1, false, $context1);
$response1 =  json_decode($result1);
4

1 に答える 1

0

この API 呼び出しを呼び出す前に、Bonita 側で認証されていることを確認してください。詳細については、次のリンクを参照してください: http://documentation.bonitasoft.com/rest-api-overview#authentication

そうでない場合、Bonita API 呼び出しは拒否されます。

問題の原因をもう少し詳しく分析するには、コードと Bonita の間で送信される HTTP リクエストとレスポンスを取得する必要があります。そのために、Wiresharkなどのツールを使用して HTTP トラフィックをキャプチャできます。

乾杯、

于 2015-05-21T14:28:42.430 に答える