2009-07-16 21 views
11

WCF wshttpbinding WebService ile iletişim kurmak için bir Java İstemcisi almaya çalışıyorum. Ama ben bunu yapamam. Çağrı ya kilitleniyor ya da "musunderstoodheader expcetions" oluyor.WCF WsHttpBinding Java'da WebService Tüketimi

Web Hizmetim, yalnızca Visual Studio tarafından üretilen "WCF Hizmet Kitaplığı Şablonu" dır.

Web Hizmet İstemcim, yalnızca "Web Hizmeti İstemcisi Ekle" kullanılarak oluşturulan ilgili saplama ile birlikte boş bir IntelliJ projesidir (belirtilen web servis platformu, JAX-WS 2.X'dir).

Bağlantımı BasicHttpBinding olarak değiştirdiğimde her şey kusursuz çalışıyor.

Güvenliği kapatmak da dahil olmak üzere WsHttpBinding yapılandırmasıyla oynamayı denedim, ancak başarılı olmadım.

Öneriler? Düşünceler? WsHttpBinding yalnızca JAX-WS 2.0 tarafından kısmen destekleniyor mu?

cevap

14

Sorununuz, JAX-WS'un wsHttpBinding'de kullanılan aynı WS protokollerini desteklememesidir. Bunun yerine WSIT kullanmanız gerekir. WSIT, Glassfish adresinde de bulunan Metro kitaplığının bir parçası olarak kullanılabilir.

Mümkün olduğunda wsHttpBinding veya ws2007HttpBinding kullanmanızı öneririz, ancak SSL/Transport Auth üzerinden basicHttpBinding ile oldukça güvenli bir hizmet de yapabilirsiniz.

0

WCF yapılandırmanızı dikkatle inceler ve tüm yetkilendirme, yetkilendirme vb. Özelliklerini kaldırırdım. Unutmayın, varsayılan olarak, WCF güvenli bir aktarım/ciltleme kullanırken servisinizi güvenli bir şekilde ortaya çıkaracaktır. Bu nedenle, Java istemcinizi bu güvenlik taleplerini yerine getirecek şekilde yapılandırmazsanız, büyük olasılıkla kimlik doğrulaması başarısız olur ve iki konuyu göremezsiniz.

İki konuşmayı tamamladıktan sonra, Java istemcinizin doğru şekilde yapılandırılıncaya kadar her güvenlik öğesi ekleyerek yavaş yavaş çalışın.

+0

Belirtildiği gibi, TÜM güvenlik özelliğini zaten kapattım. – vicsz