Ben bir ASP.net web hizmeti ile iletişim kurmak için Zend_Soap_Client kullanmaya çalışıyorum. İşte benim istemci çağrısı var:
$client = new Zend_Soap_Client(null, array(
'location' => 'http://example.com/service.asmx',
'uri' => 'http://example.com/'
));
$user = new UserDetail();
$result = $client->UserDetails($user);
Ancak bu her zaman bana hata veriyor:
System.NullReferenceException: Nesne başvurusu bir nesnenin örneğine ayarlanmadı. Service.UserDetails de (UserDetail UserDetail)
Bazı googling bu oldukça yaygın bir sorun olduğunu ortaya koydu. En yaygın çözüm bir dizi olarak parametreleri geçirmek gibi görünüyordu, bu yüzden denedim:
$result = $client->UserDetails(array('UserDetail' => $user));
ama bu aynı hata verdi. Ben de anahtarı olarak 'params' ile başka bir dizi iç içe, bir stdClass nesne olarak params geçen denedim, ve birkaç başka şeyler ama hata her zaman aynıdır.
Ben web hizmeti kendisi için ASP kod var, ilgili yöntem:
public Result UserDetails(UserDetail UserDetail) {
[some stuff]
Hashtable ht = new Hashtable();
ht = UserDetail.GenerateData();
}
hata GenerateData () çağrısıyla neden olur.
Ben UserDetails yöntemi yerine parametre olarak benim nesnesi null oluyor varsayalım, ama ben yöntemini çağırarak veya bunu nasıl daha debug gerektiğini nasıl emin değilim. Ben buldum Zend_Soap_Client örneklerin çoğunluğu bu hizmeti hangi değil, WSDL kullanıyor gibi görünüyor; yani ilgili olup olmadığından emin değil. Herhangi bir yardım mutluluk!