Ben kullanıcı adı ve kullanma Temel HTTP hem WS-HTTP istemcileri, hem de HTTPS üzerinden sağlayan bir WCF web hizmeti var parola doğrulaması. Bu, aynı hizmet iki bağlama ile elde edilir.
Yani, servis https://foo.com/Service.svc , the Basic HTTP (SOAP 1.1) endpoint is https://foo.com/Service.svc/Unp11 , and the WS-HTTP (SOAP 1.2) endpoint is https://foo.com/Service.svc/Unp em> yer almaktadır.
Bir istemci, kendi dahili SOAP desteğini kullanarak, PHP 5 ile bu web hizmeti erişmeye çalışıyor, ve sorun servisine bağlanmadan yaşıyor. O soap ileti kötü oluşturulur, ya da bir SOAP 1.1 mesajı bir SOAP 1.2 bitiş (veya tersi) gönderilir ise gerçekleşmesi eğilimi bir HTTP 400 (Bad Request) yanıt, olmaya devam ediyor.
Ben sorun ona yardım yaşıyorum o yüzden sadece temel PHP biliyorum. Sana yaparak bir istemci oluşturmak biliyorum
$client = new SoapClient('https://foo.com/Service.svc?wsdl');
ama nasıl bağlama / bitiş belirtebilirim? PHP ile tüm bu ulaşmada herhangi bir bilinen sorunlar var mı?
UPDATE
Tamam, bu yüzden WCF servisine bağlanmak için PHP kullanabilirsiniz ok (SoapClient
yapıcısındaki soap sürümünü belirterek) ve $client->__getFunctions()
tüm web servis operasyonlarının doğru bir listesini döndürür çağırıyor .
Ben kullanarak birini aramak çalıştığınızda $client->__soapCall
, sayfa sadece uzunca bir süre orada yükleme oturur, ve sonunda "Error Fetching http headers" hata verir. Tam olarak ne demek gerekiyordu ve ben bunu nasıl düzeltebilirim? (. Net istemci hizmeti tüketmek mükemmel çalışıyor.)