我很困惑如何编辑这个脚本能够接受来自 jquery 的请求并将脚本返回的值返回给我?非常感谢任何帮助?
我可以使用它从文件系统传递一个 xml 文件和 url 并获得我期望的返回,但我真的希望能够将它用作 wsdl 服务的代理。
[编辑]由于环境变化,我想使用下面的脚本将来自我正在传递 xml 的 wsdl 服务的 xml 返回传回给我。当我从命令行执行此操作时,它工作正常 - 我只是不确定如何能够让脚本接受一个帖子,然后从服务调用返回 xml。
我在命令行中使用如下脚本:
php file.php theurl <test.xml
^^ 返回给我的 xml 我想然后传回前端
<?php
ini_set('display_errors', "1");
$url= $argv[1];
echo "url\n$url\n";
preg_match("/https?:\/\/([^\/]*)(.*)/", $url, $matches);
$host=$matches[1];
$request=$matches[2];
$mxml=fread(STDIN,65536);
$yt =curl_init();
$header = "POST $request HTTP/1.0\r\n";
$header .= "Host: $host\r\n";
$header .= "SoapAction:";
$header .= "Content-Type: text/xml\r\n";
$header .= "Content-Length: ".strlen($mxml)."\r\n";
$header .= "Content-Transfer-Encoding: text\r\n";
$header .= "Connection-Close: close\r\n\r\n";
echo "header\n$header\n";
$header .= $mxml;
curl_setopt($yt, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($yt, CURLOPT_URL, $url);
curl_setopt($yt, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($yt, CURLOPT_RETURNTRANSFER, true);
$rxml=curl_exec($yt);
echo "sent\n$mxml\n";
echo "received\n$rxml\n";
echo curl_error($yt);
?>