Yük dengeleyici arkasında PHP ile WCF birlikte çalışabilirlik

2 Cevap php

Ben bir PHP istemci / w müşteri Interop yardım etmeye çalışıyorum ama biz IIS çiftliğinin önünde bir yük dengeleyici var. Aslında. Svc? Wsdl görüntülemek Çünkü bu size bu WSDL içinde listelenen özel sunucu alabilirsiniz. Sonra benim müşteri öyle gibi bir şey kullanarak müşteri oluşturmak için çalışıyor

$client = new SupplierService();

Onlar (uri biz yük dengeleyici kendisi puan verdi değil) grubundaki belirli bir sunucu için bir zaman aşımı olsun

Ben bile, elle WSDL flatted bu WSDL yük dengeleyici aracılığıyla geçerli bir çağrı almak için yeterli olması gerektiğini kanıtlamak için svcutil kullanarak bir. Net istemci oluşturulan (ve. Net istemci bu düz WSDL üretilen istemci kullanarak çalışır) var

Ben bu çalışma var sonra ben ondan geçerli bir php istemcisi (sorunları neden değildi uri) oluşturmak için müşteriye bu düz WSDL dosyası gönderilecektir ve hemen kapatır. Gitmek için hiçbir hata iletisi veya istisna ile ...

Ben asıl mesaj Wireshark kullanarak rastlamak izlerken de. Net ve php istemci SOAP veri hemen hemen aynı görünüyor. henüz. net istemci çalışır ve php istemci üzerinden geri müşteriye atılan veya giriş hiçbir hata w / kapatır. NET

Her şey burada kaçırmış olabilir ya da bir yük dengeleyici arkasında WCF w / birlikte çalışma yaparken farkında olmalıdır?

2 Cevap

Eğer gerçekten bu kadar gibi hizmet yapılandırması için <host> bölümüne eklemeniz gerekir WSDL yayılan doğru sunucu adı var isterseniz, böyle bir dengeleyici arkasında dengeli konum durumlarda:

<service ...>
    <host>
        <baseAddresses>
            <add baseAddress="http://subdomain.yourexternaldns.com" />
            <add baseAddress="https://subbomain.yourexternaldns.com" />
        </baseAddresses>
    </host>
</service>

Ayrıca bu iş için IIS ana bilgisayar üstbilgileri yapılandırılmış ve blancer bakir anabaşlık geçen olduğundan ettik emin olmak gerekir.

Eğer deneyebilirsiniz birkaç şey vardır:

  • Yük dengeleyici bir sorun olup olmadığını doğrulamak için hizmetin doğrudan karşı php istemci sınayın.
  • WCF hizmeti çalıştıran makinede IIS ve olay günlüklerini denetleyin