Ben bir PHP Sabun uygulamasında çok garip bir sorun var.
1) Ben daha fazla referans için DB adını içeren Sunucu sınıfında özel bir değişken var. Özel Değişken adı "fromdb" dir. Ben bu değişkeni ayarlayabilirsiniz sabun sunucuda bir kamu işlevi var. $ Client-> setFromdb. Ben formu çağırdığınızda müvekkilim mükemmel çalışıyor ve fromdb özel değişken ayarlanabilir. Ama bu özel değişkenin değerini kaybeder, ikinci bir sabun istemci çağrısı ... İşte benim sabun server kurulum:
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('session.auto_start', 0);
ini_set('always_populate_raw_post_data', 1);
global $config_dir;
session_start();
/*if(!$HTTP_RAW_POST_DATA){
$HTTP_RAW_POST_DATA = file_get_contents('php://input');
}*/
$server = new SoapServer("{$config_dir['template']}import.wsdl");
$server->setClass('import');
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
2) Sorun ben bu sunucuya geçti ki:
$client = new SoapClient('http://import.ingatlan.net/wsdl', array('trace' => 1));
$xml='<?xml version="1.0" encoding="UTF-8"?>';
$xml.='<xml>';
$xml.='<referens>';
$xml.='<original_id><![CDATA[DH-2]]></original_id>';
$xml.='<name>Valaki</name>';
$xml.='<email><![CDATA[valaki@example.com]]></email>';
$xml.='<phone><![CDATA[06-30/111-2222]]></phone>';
$xml.='</referens>';
$xml.='</xml>';
$tarray = array("type" => 1, "xml" => $xml);
try {
$s = $client->sendXml( $tarray );
print "$s<br>";
}
catch(SOAPFault $exception) {
print "<br>--- SOAP exception :<br>{$exception}<br>---<br>";
print "<br>LAST REQUEST :<br>";
var_dump($client->__getLastRequest());
print "<br>---<br>";
print "<br>LAST RESPONSE :<br>".$client->__getLastResponse();
}
So passed an Array of informations to the server. Then I got this exception: LAST REQUEST :
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><type>Array</type><xml/></SOAP-ENV:Body></SOAP-ENV:Envelope>
Eğer tip etiketi arasındaki Dizi kelimeyi görebilir miyim? Müşteri sadece böyle bir başvuru ya da bir şey geçti gibi görünüyor. Yani tamamen cevapsız: (