Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    setHttpHeaders?

    SmartClient Version: v10.0p_2014-10-22/Enterprise Deployment (built 2014-10-22)

    Hello I am trying to get rss feed from link that requires authentication.

    Code:
    //rpc Implementation method that returns encoded string (username and password)
    String auth = Base64Utils.toBase64("username:password".getBytes());
    
    
    //datasrouce set http headers
    DataSource dataSource = new DataSource() {
    @Override
    protected Object transformRequest(DSRequest dsRequest) {
    	Map<String, String> headerData = new HashMap<>();
            headerData.put("Authentication", "Basic "+ auth);
            dsRequest.setHttpHeaders(headerData);
    	return super.transformRequest(dsRequest);
    							}
    
    @Override
    protected void transformResponse(
    	DSResponse dsResponse, DSRequest dsRequest,Object data) {
    	// TODO Auto-generated method stub
    	super.transformResponse(dsResponse, dsRequest,data);
    							}
    
    dataSource.setDataURL("rss link");

    ....after runing it i got http 400 bad request. JSON returns "Field 'assignee' does not exist or this field cannot be viewed by anonymous users.", so probably there is problem in authentication...plz help thx.
    PS. field "assignee" exist....after login in required page i can get rss feed with "rss link"
    Last edited by jaandric; 22 Nov 2014, 04:44.

    #2
    Oh i find mistake.

    Its not:
    Code:
     headerData.put("Authentication","Basic "+ auth);
    Its:
    Code:
     headerData.put("Authorization","Basic "+auth);
    ...my bad. Code works fine

    Comment

    Working...
    X