作者duo3410 (脚男)
看板PHP
标题[请益] Pear SOAP 与 NuSOAP
时间Wed Aug 14 14:09:47 2013
这是一个关於已Pear SOAP 当SERVER
NuSOAP 做Client 的问题...
因为Client端主机没办法安装Pear以及SOAP
所以我只好找别的SOAP来做Client
但是不知道是哪个环节出错了
其他可以用Pear SOAP的主机当Client都没问题
一拿出NuSOAP就出事了
请各路英雄帮忙解惑
-----------------------------------以上废话-----------------------------------
Server
class Session
{
function checkSession{}
}
$server = new SOAP_Server;
$service = new Session();
$server->addObjectMap($service,'urn:Session');
if (isset($_SERVER['REQUEST_METHOD']) &&
$_SERVER['REQUEST_METHOD']=='POST') {
$server->service($HTTP_RAW_POST_DATA);
}
else {
$disco = new SOAP_DISCO_Server($server,'Session');
header("Content-type: text/xml");
if($_SERVER['QUERY_STRING']=='wsdl') {
print $disco->getWSDL();
}
else {
print $disco->getDISCO();
}
}
这部份以前用起来没什麽问题
所以大概没什麽大问题吧....我猜
---------------------------------以下Client----------------------------------
$client = new
nusoap_client('
http://ooxxoo.ooo/oooo/ooxx.php');
$params = array('SessionID'=> $_GET[$this->sessName] );
$response = $client->call('checkSession',$params,"urn:Session","urn:Session");
Client大概就是这样吧
主要的问题是...$response中取不回值
$err = $client->getError()也没有说错误
是这两款soap会打架吗
刚刚发现错误讯息了...
Response not of type text/xml: text/html; charset="big5"
在$client->call('checkSession',$params,"urn:Session","urn:Session");之後
$err = $client->getError()出现的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.220.128.164
1F:→ rickysu:PHP5以後已经内建 SOAP 支援了,改用内建的速度快很多。 08/14 15:16
3F:→ rickysu:好久以前写的东西,现在看来好丑(遮脸 08/14 15:19
※ 编辑: duo3410 来自: 61.220.128.164 (08/14 15:41)
※ 编辑: duo3410 来自: 61.220.128.164 (08/14 15:42)
我把整串程式码拿到另一台主机以後
就成功连线了...
目前猜测试伺服器设置上的问题
可是是哪边有问题就不知道了
主要的问题应该是出在nusoap_client没有连到目标
我在server端做纪录发现server没有被呼叫到
这到底是怎麽一回事呢(ˊ.ω.ˋ)?
※ 编辑: duo3410 来自: 61.220.128.164 (08/15 11:37)