2017-04-18 1 views
0

package com.example.shubhamshukla.icici; 오류 코드가 여기에있다YODLEE API를 사용하여 Y007 오류 "인증 헤더 누락"오류가 발생했습니다

04-18 08:00:21.762 5184-5184/com.example.shubhamshukla.icici E/hrader COntent: Origin=https://developer.yodlee.com&password=sbMemshubham11091#123&keep-alive=user&Accept=application/json&loginName=sbMemshubham11091&Connection=keep-alive&Host=developer.api.yodlee.com&Content-Length=138&locale=en_US&user=locale&Content-Type=application/json&Authorization={"cobSession":"08062013_2:cfd8b1f204e1285f05778bfec6de14bce6d8b2e42eea1329099949c466680ab74759b41b2423727d5c5b6d255b5dcadfa5e801294083b6d44d5f9e2233f74999"} 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.util.Log; 
import android.view.View; 
import android.support.design.widget.NavigationView; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

import com.loopj.android.http.JsonHttpResponseHandler; 
import com.loopj.android.http.RequestParams; 

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

import cz.msebera.android.httpclient.Header; 
import cz.msebera.android.httpclient.protocol.HTTP; 
import io.card.payment.CardIOActivity; 
import io.card.payment.CreditCard; 

public class MainActivity extends AppCompatActivity 
     implements NavigationView.OnNavigationItemSelectedListener { 

    Button scanCard,loginBtn; 
    EditText username,password; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     scanCard = (Button)findViewById(R.id.scan); 
     loginBtn =(Button)findViewById(R.id.login); 
     username = (EditText)findViewById(R.id.username); 
     password =(EditText) findViewById(R.id.password); 
     final JSONObject[] JSONobj = {new JSONObject()}; 
     ///////////////////////////////////////////////////////////////////////////////////////////////////////// 
     RequestParams rp = new RequestParams(); 
     rp.put("Host","developer.api.yodlee.com"); 
     rp.put("Accept","application/json"); 
     rp.put("Content-Type", "application/json"); 
     rp.put("Content-Length","164"); 
     rp.put("Connection","keep-alive"); 
     rp.put("keep-alive","co-brand"); 
     rp.put("co-brand","cobrandLogin"); 
     rp.put("co-brand","cobrandPassword"); 
     rp.put("co-brand","locale"); 
     rp.put("cobrandLogin","sbCobshubham1109"); 
     rp.put("cobrandPassword","6595780d-7ea6-4e8a-a715-e14d2e198f8f"); 
     rp.put("locale","en_US"); 

     final MyHttpClient[] a = {new MyHttpClient()}; 
     a[0].post("/restserver/v1/cobrand/login",rp,new JsonHttpResponseHandler(){ 
      @Override 
      public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 
       try { 
        JSONObject serverResp = new JSONObject(response.toString()); 
        JSONobj[0] = serverResp.getJSONObject("session"); 
        Log.e("server resp", JSONobj[0]+""); 
       } catch (JSONException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 

     }); 
     loginBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       RequestParams userRp = new RequestParams(); 
       userRp.put("Host","developer.api.yodlee.com"); 
       userRp.put("Accept","application/json"); 
       userRp.put("Content-Type", "application/json"); 
       userRp.put("Authorization",JSONobj[0]); 
       userRp.put("Content-Length","138"); 
       userRp.put("Origin","https://developer.yodlee.com"); 
       userRp.put("Connection","keep-alive"); 
       userRp.put("keep-alive","user"); 
       userRp.put("user","loginName"); 
       userRp.put("loginName","sbMemshubham11091"); 
       userRp.put("user","password"); 
       userRp.put("password","sbMemshubham11091#123"); 
       userRp.put("user","locale"); 
       userRp.put("locale","en_US"); 
/* 

       String mn = "doMemberLogin(userLogin=" +userName+ ", userPassword = " + userPassword + ", coBrandSessionCredential =" + loginTokens.get("cobSession") + ")"; 
       System.out.println(fqcn + " :: " + mn); 
       final String requestBody="coBrandSessionCredential="+ loginTokens.get("cobSession")+"&loginName=" + userName + "&password="+ userPassword; 
       String userLoginURL = localURLVer1 + "user/login"; 
       //HTTP.addHeaders("Authorization" , loginTokens.get("cobSession")); 
       String jsonResponse = HTTP.doPostUser(userLoginURL,loginTokens, requestBody,true); 
       UserContext member = (UserContext) GSONParser.handleJson(jsonResponse, yodlee.ysl.api.beans.UserContext.class); 
       // Change the toString() method of the class to decide what to display on the Console. 
       System.out.println(member.toString()); 
       loginTokens.put("userSession", member.getUser().getSession().getUserSession());*/ 



       Log.e("hrader COntent",userRp.toString()); 

       // Toast.makeText(MainActivity.this,username.getText().toString()+password.getText().toString(),Toast.LENGTH_LONG).show(); 
       new MyHttpClient().post("/restserver/v1/user/login",userRp,new JsonHttpResponseHandler(){ 
        @Override 
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 
         try { 
          JSONObject serverResp = new JSONObject(response.toString()); 
          String userSess = serverResp.getJSONObject("session").getString("userSession"); 
          Toast.makeText(MainActivity.this,userSess,Toast.LENGTH_LONG).show(); 
          Log.e("USer",userSess); 
         } catch (JSONException e) { 
          // TODO Auto-generated catch block 
          e.printStackTrace(); 
         } 
        } 

        @Override 
        public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 
         Log.e("USer ERR",statusCode+throwable.toString()+errorResponse.toString()); 
         Toast.makeText(MainActivity.this,statusCode+throwable.toString()+errorResponse.toString()+"",Toast.LENGTH_LONG).show(); 
        } 
       }); 

      } 
     }); 



    } 
} 

이 통과받을 헤더 형식이다 .. ..

무단 "의 errorCode": "Y007", "ERRORMESSAGE" " 인증 헤더 누락 ","referenceCode ":"K1492482625709j4Z27t "

답변

0

인증 설정을 위해 HTTP 연결 속성을 설정해야하는 것 같지 않습니다.

conn.setRequestProperty ("Authorization", cobSession);

0

Yodlee 개발자 포털 로그인을 사용하여 아래 링크를 사용하여 코블 랜드 및 사용자 토큰에 대한 인증을 신속하게 확인한 다음이 페이지의 주어진 지침에 따라 시도 할 수 있습니다.

https://developer.yodlee.com/apidocs/index.php