WSDL ile SOAP kullanım için Yapılanma PHP dizi

3 Cevap php

Ben başka bir uygulamaya boş bir listesini döndürmek için PHP 5.2 ile bir SoapServer yazıyorum. Benim WSDL doc çizgisinde bir karmaşık türü gerektirir:

<xsd:element name="Vacancies">                            
  <xsd:complexType>
    <xsd:sequence>  
      <xsd:element name="Vacancy" type="ns:VacancyType" minOccurs="0" maxOccurs="unbounded"></xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Benim işlevi, her yeriniz araya getirmek için bir büyük, iç içe geçmiş bir dizi üreten ve ardından dizilerin dizi döndürüyor: SoapServer (yani boş).

Ne yazık ki, her dizi endeksli. Yani boş pozisyonlar içinde her VacancyType elemanı benzersiz bir dizin vardır. Bu WSDL tanımını kurtulmak gibi görünüyor ve bana döndü bilgileriniz, sadece bir ayrıştırma hatası atar. Ben normalde, anahtar çifti değerleri için ilişkilendirilebilir diziler kullanmak istiyorum, ama ben VacancyType n örnekleri ile uğraşıyorum gibi benzersiz bir referans olmaz gibi bu işe yaramaz.

Senaryo bu tür (örn: belki bir nesne) için bilinen bir çözümü var mı, yoksa ben dizinlenmiş dizilerle karşılamak benim WSDL dokümanı yeniden işleme gerekir?

Teşekkürler

3 Cevap

Göre http://sam.xnet.tk/post/15/php-soap-server-part-2/ rpc / literal tarzı Xsd dizisi ile çalışıyor. Ancak, ben de, bu belge / literal sarılmış tarzı ile iş yapamaz.

Eğer nuSAOP bir deneyin verdi mi? Başka hiçbir yüklü PHP kütüphanelerini gerektirir:

PHP belgelerine göre, PHP destekler subsets SOAP 1.1, SOAP 1.2 ve WSDL 1.1.

Sonuçta, ben bir çözüm buldum: Ben mysefl ve kullanımı ile XML oluşturmak

new SoapVar('<myitem>...</myitem><myitem>...</myitem>', XSD_ANYXML);