I SoapClient
kullanarak PHP kodu bir web hizmetini çağırmak için çalışıyorum.
$service = new SoapClient($wsdl);
$service->myFunction('something', 'anotherthing', 'onemore');
Ben iz açmak ve son isteği alırsanız, ben ilk parametre her zaman Sabun mesajın eksik olduğunu görebilirsiniz, yani param0
orada hiç. Daha az ya da daha fazla parametre ile işlevleri aynı.
Sabun isteği:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<myFunction />
<param1>anotherthing</param1>
<param2>onemore</param2>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Ben (ve SoapUI kullanırken benim web hizmeti kabul eder) ne olmasını bekliyoruz Ne:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<myFunction>
<param0>something</param0>
<param1>anotherthing</param1>
<param2>onemore</param2>
</myFunction>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Bu ile aynı
__soapCall('myFunction', array($something, $anotherthing, $onemore));
Windows XP üzerinde xampplite kullanıyorum.
Güncelleme: http://programming.itags.org/php/236781/ hayır cevapları ile 2008 yılında yayınlanan aynı sorunu olan birisi için bir link (şöyledir: ().
2 güncellemek: Ben de bu işlevi temsil öğesinin alt öğeleri gibi parametreleri temsil xml öğeleri koymak olmadığını fark ettim. Bu doğru olamaz?!?
Ben __ doRequest işlevi aşırı ve $ istek değişkeni düzenlemek korkunç bir düzeltme yaptık. Bu çalışır, ama bu berbat. Ben de tüm istek kendimi derlemek olabilir ......
Güncelleme 3: Benim için PHP gibi hissediyor sadece arızalı. Bu sabun uygulamasında bir hata Ama eğer, ben web üzerinde daha fazla bilgi olacağını düşünmek istiyorum. Aaaargh. Sonraki girişimi NuSOAP ve PEAR çalışmaktır.
Güncelleme 4: onu yuvarlamak için, ben NuSOAP ve armut deneyin vermedi. Işe yaradı çünkü ben sadece benim 'hack' ile gitti ve bunu yaparken gerekli diğer faaliyetleri vardı. Ayrıca, demo verilmiş ve bir sonraki aşama için PHP artık kullanılmayacaktır. Yani her şey yine yeniden hayata geçirilecektir.