2013-03-15 14 views
6

bağlıyor. ÖrneğinPHP SoapClient ve okuma ben <em>bir istekte</em> özelliklerini ayarlamak için SoapClient sizi bekliyor konusunda sayısız açıklamalar bulduk, ancak ben sadece bir yanıttan</em> özelliklerini okumak <em>bir yolunu bulamıyorum

, benim SoapClient tepki içinde bu unsur vardır:

... 
<ns:index> 
    <ns:uid expdate="2013-09-03 14:30:00">JOWtest002</ns:uid> 
    <ns:uid expdate="2013-02-07 15:00:00">JOWtest003</ns:uid> 
</ns:index> 
... 

Ancak nitelik "index" iliştirilmiş hiçbir zaman "expdate" stdClass

["index"]=> 
    object(stdClass)#80 (1) { 
    ["uid"]=> 
    array(2) { 
    [0]=> 
     string(10) "JOWtest002" 
    [1]=> 
     string(10) "JOWtest003" 
    } 
} 

kullanıyorum denedi Bunu bir nesneye bağlamak için bir SoapClient sınıf haritası, ancak ne yazık ki, WSDL "uid" öğesini bir complexType olarak tanımlamamaktadır, bu nedenle özellikleri de eşleştirmez. "İndeks" kendisini bir sınıfa bağlayamaz.

Herhangi bir öneriniz var mı? XML'i SimpleXML veya DOMDocument'e vererek ayrıştırmaktan kaçınmak istiyorum.

+0

İsim kullanmak yardımcı olur mu? http://stackoverflow.com/q/8525020/1513471 –

+0

Teşekkür ederiz. İsim alanının neden sorun olacağını açıklayabilir misiniz? WSDL, bilinen SOAP sarma ad alanlarını tanımlar ve burada örneğimde bildirilenden farklı bir ad alanı kullanırız. – voodoodrul

+0

xml özelliklerine işaret eden ad alanı bu yüzden isim alanını öneriyorum. –

cevap

0

XML ile oldukça çalışıyorum ve gerçek bir iştir. Tecrübemde ve eğer bir SOAP cevabını ele alma konusunda mükemmel bir sarmalayıcı yazmış bir kütüphaneyi kullanmanız açıksa, bu link numaralı belgede bulunan Sabre'nin XML kütüphanesini uygulamak olacaktır.

Yanıtları göndermek ve okumak gerçekten kolaydır. Dokümantasyon gerçekten çok iyi ve kütüphanede etkili bir şekilde kullanmanıza yardımcı olacak çok sayıda örneği var.

+0

Sadece hiç bir şekilde bağlı olduğum, biraz güç ve genişletilebilirliğe sahip olan yararlı bir kütüphane. PHP'nin SOAP istemcisini kullanmak ve bunun etrafında başka bir kitaplık oluşturmak isterseniz, o zaman misafirim olun. Ben onu kullanayım diye düşünün. – TesterT

+1

Yeterince adil. Gelecekte "broşür gibi" ses çıkarmaya çalışın, geri bildirim için teşekkürler – TesterT

İlgili konular