30 Ekim 2014 Perşembe

Android Web Servis Kullanıcı Adı ve Parola Ayarlama


Merhaba arkadaşlar,

Bu yazımda daha önce yayınlamış olduğum Android te web servis kullanımına ilişkin ek bir ilave yapacağım. Eğer servisimizde kullanıcı adı ve parola erişim kısıtı varsa bu durumda servisimizde SOAP header’ına bu parametreleri set etmemiz gerekecektir. Eğer Android te web servis kullanımı ile alakalı yazımı okumamışsanız buradan okumanızı tavsiye ederim çünkü kodları oradaki yapı üzerinden vereceğim.

Servis request değerimi oluşturup SoapSerializationEnvelope nesneme set ederken burada headerOut fonksiyonunu kullanarak kullanıcı adı ve parola değerlerimi set ediyorum. Bunun için önceki yazımda WebServiceCall.java sınıfımız içerisinde SetEnvelop() metodumda şu kodları ekliyoruz.


    protected void SetEnvelope() {
         
        try {
             
            // Creating SOAP envelope          
            envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
             
            //You can comment that line if your web service is not .NET one.
            envelope.dotNet = true;
            
            //header'a kullanıcı adı ve parola değerlerini set et
            envelope.headerOut = new Element[1]; 
            envelope.headerOut[0] = buildAuthHeader();
            
            envelope.setOutputSoapObject(request);
            androidHttpTransport = new AndroidHttpTransport(URL);
            androidHttpTransport.debug = true;
             
        } catch (Exception e) {
            System.out.println("Soap Exception---->>>" + e.toString());   
        }
    }
    
    
    private Element buildAuthHeader() {
        Element h = new Element().createElement(NAMESPACE, "AuthHeader");
        Element username = new Element().createElement(NAMESPACE, "Username");
        username.addChild(Node.TEXT, USERNAME);
        h.addChild(Node.ELEMENT, username);
        Element pass = new Element().createElement(NAMESPACE, "Password");
        pass.addChild(Node.TEXT, PASSWORD);
        h.addChild(Node.ELEMENT, pass);

        return h;
    }

Umarım faydalı olur, yardıma ihtiyacınız olduğunda yardımcı olabilirim.

Hiç yorum yok :

Yorum Gönder