作者stan0227 (一切从零开始)
看板PHP
标题[请益] 请问SOAP over Https
时间Fri Jan 6 17:30:02 2012
Browser: Chrome 16.0.912.75m
Server: XAMPP Windows 1.7.7
XAMPP尚的设定皆为安装预设值
===================================================================
最近在Survey PHP与Web Service
在网路上找到范例程式码也可正常使用
但是如果我将SOAP_WSDL改为透过https得取时
就无法正常运作并且得到下列的错误讯息
Fatal error: Call to undefined method SOAP_Fault::Hello() in
E:\xampp\htdocs\client.php on line 7
请问该如何解决呢??在Google上找不太到适当的相关解答
下面是程式码:
===== Client: client.php =====
<?php
require_once("SOAP/Client.php");
$wsdl=new SOAP_WSDL('
http://127.0.0.1/server.php?wsdl');
$helloClient = $wsdl->getProxy();
echo $helloClient->Hello("This is a test!");
?>
===== Server: server.php =====
<?php
class HelloServise
{
var $__dispatch_map = array();
function HelloServise()
{
$this->__dispatch_map['Hello'] =
array('in' => array('input' => 'string'),
'out' => array('output' => 'string'),
);
}
function Hello($input)
{
return "Helloo:[$input]";
}
}
require_once 'SOAP/Server.php';
require_once 'SOAP/Disco.php';
$server = new SOAP_Server;
$Hello = new HelloServise();
$server->addObjectMap($Hello,'urn:HelloService');
if ($_SERVER['REQUEST_METHOD']=='POST')
$server->service($HTTP_RAW_POST_DATA);
else
{
$disco = new SOAP_DISCO_Server($server,'HelloServise');
header("Content-type: text/xml");
if($_SERVER['QUERY_STRING']=='wsdl') echo $disco->getWSDL();
else echo $disco->getDISCO();
}
?>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.99.126