Web サービスを使用して、PHP cURL を介して投稿しようとしています。つまり、Webサービスを使用するとき。フィドラーの応答は問題ありませんが、私のphpスクリプトでは、500 - 内部サーバーエラーしか表示されません。私が欠けているものを誰か教えてもらえますか?
ページ: http://badmintonpeople.dk/DBF/Spiller/VisSpiller/#88555
「vælg Spiler」ボタンを使用します - Web サービスがあります: http://badmintonpeople.dk/SportsResults/Components/WebService1.asmx/SearchPlayer
フィドラーでは、200 という素晴らしい応答が返されます: dl.dropboxusercontent.com/u/885897/fiddler.jpg
しかし、以下のコードでは何も得られません...理由を教えてもらえますか? :-/
$urltopost = "http://badmintonpeople.dk/SportsResults/Components/WebService1.asmx/SearchPlayer";
$data = array (
"callbackcontextkey" => "7CF866FEDDD42B1529DAED8272DA83AF72EFBB896E3176EFB70CD34D02A81BF647D420A3F880C10178E804AC21CA4999",
"selectfunction" => "SPSel1",
"name" => "",
"clubid" => "1600",
"playernumber" => "",
"gender" => "",
"agegroupid" => "",
"searchteam" => false,
"agegroupcontext" => 0,
"tournamentdate" => "",
);
$data_string = json_encode($data);
$ch = curl_init('http://badmintonpeople.dk/SportsResults/Components/WebService1.asmx/SearchPlayer');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
$result = curl_exec($ch);
echo $result;
更新: 応答は次のとおりです: {"メッセージ":"要求の処理中にエラーが発生しました。","StackTrace":"","ExceptionType":""}
ボーナス情報。私の友人は、このコードを使用して .NET で数秒で投稿を機能させましたが、PHP がこの仕事を実行できないとは想像できませんか?
.NET コンソール アプリケーション
class Program
{
static void Main(string[] args)
{
const string URI = "http://badmintonpeople.dk/SportsResults/Components/WebService1.asmx/SearchPlayer";
const string myParameters = "{'callbackcontextkey':'874DB247192F515BC3735AD164D4350C6DD5A0CFD186112C97A41B3B9FE97F81637FBEF0AEDF4A5939481BAFFFBD0A99','selectfunction':'SPSel1','name':'','clubid':'1600','playernumber':'','gender':'','agegroupid':'','searchteam':false,'agegroupcontext':0,'tournamentdate':''}";
using (var wc = new WebClient())
{
wc.Headers[HttpRequestHeader.ContentType] = "application/json; charset=UTF-8";
string HtmlResult = wc.UploadString(URI, myParameters);
}
}
}
前もって感謝します!