0

私はこれに何日も取り組んできましたが、うまくいかないようです。以下のコードに問題がある人はいますか?

結果は何もありません。サービスからの応答は一切ありません。.Netで記述されたWebサービスがxml文字列を受け入れることができることを確認しました。スキーマを一致させました。しかし、応答がありません。

また、私はphpでWebサービスを使用するのは初めてですが、.Netでこれを数え切れないほど行ってきました。

さらに、Webサービス.asmxをテストして、サーバー側でも機能しているかどうかを確認するために、phpで任意のタイプのエラー出力を表示する方法はありますか?

<?php
$url = 'https://someurl/someservice.asmx';
$xml = '<?xml version="1.0" encoding="utf-8" ?>
    <query>
        <version>1.0</version>
        <login>userName</login>
        <password>password</password>
        <keyword>cancer</keyword>
    </query>'; 

$c = curl_init(); 

curl_setopt($c, CURLOPT_URL, $url); 
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);  
curl_setopt($c, CURLOPT_HEADER, true); 
curl_setopt($c, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded", "Content-length: ".strlen($xml))); 
curl_setopt($c, CURLOPT_POST, true); 
curl_setopt($c, CURLOPT_POSTFIELDS, 'xmlInput='.urlencode($xml)); 
curl_setopt($c, CURLOPT_TIMEOUT, (int)30);  

$xmlResponse = curl_exec($c); 
curl_close ($c); 
echo 'Output :: '.$xmlResponse;
?>
4

2 に答える 2

0

なしで試す

<?xml version="1.0" encoding="utf-8" ?>

または書く

<?xml version=\"1.0\" encoding=\"utf-8\" ?>
于 2012-04-06T13:18:10.960 に答える
0

リクエストに以下を追加してみましたか?

curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);
于 2012-04-07T06:48:42.433 に答える