我想生成OData安全服務的實體類和服務類。 在OData Java擴展頁面中,我寫了我需要使用org.restlet.ext.odata.Generator
類,它應該獲得uri並輸出目錄參數。 但是,如果我的OData服務受到保護,那麼生成器實例無法生成服務類別,而無需服務的用戶名和密碼。 我沒有找到任何方式將用戶名和密碼傳遞給生成器類。使用OData安全服務
我得到401個HTTP響應代碼。
請幫忙。
我想生成OData安全服務的實體類和服務類。 在OData Java擴展頁面中,我寫了我需要使用org.restlet.ext.odata.Generator
類,它應該獲得uri並輸出目錄參數。 但是,如果我的OData服務受到保護,那麼生成器實例無法生成服務類別,而無需服務的用戶名和密碼。 我沒有找到任何方式將用戶名和密碼傳遞給生成器類。使用OData安全服務
我得到401個HTTP響應代碼。
請幫忙。
在由OData擴展生成的org.restlet.ext.odata.Service子類中,可以調用setCredentials()並傳遞ChallengeResponse的一個實例,包括scheme(BASIC?),login(identifier)和password(secret )。
在org.restlet.ext.odata.Generator類的main方法中, 以下代碼將清除setCredentials()方法中設置的憑據詳細信息。
Service service = new Service(dataServiceUri);
if(service.getMetadata() == null)
{
errorMessage = "Cannot retrieve the metadata.";
}
請提供針對此問題的解決方案,我目前無法爲服務固定用的用戶密碼爲我的休息服務的類。
我嘗試下面的代碼來生成代碼爲我的安全服務URI:
import org.restlet.ext.odata.Generator;
import org.restlet.ext.odata.Service;
import org.restlet.data.ChallengeResponse;
import org.restlet.data.ChallengeScheme;
public class ODataRestletGenerator extends Service {
public ODataRestletGenerator(String serviceUri) {
super(serviceUri);
}
public static final String APPLICATION_URI = "http://ldcigkd.xxx.yyy.corp:50033/xxx/opu/sdata/IWCNT/CUSTOMER/";
public static void main(String[] args) {
// Add the client authentication to the call
ChallengeScheme scheme = ChallengeScheme.HTTP_BASIC;
ChallengeResponse credentials = new ChallengeResponse(scheme, "user", "pwd");
new ODataRestletGenerator(APPLICATION_URI).setauth(credentials);
String[] arguments = { APPLICATION_URI, "/customer/src" };
Generator.main(arguments);
}
private void setauth(ChallengeResponse credentials) {
super.setCredentials(credentials);
}
}