Генерация кода для защищенного веб-сервиса с использованием расширения Restlet Odata
Я пытаюсь создать объектную модель (классы Java), используя Restlet Odata extesnion для моего защищенного веб-сервиса. В рамках этого процесса я написал ниже код для генерации кода.
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 = "https://api5.successfactors.eu/odata/v2";
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, "/src/main/java" };
Generator.main(arguments);
}
private void setauth(ChallengeResponse credentials) {
super.setCredentials(credentials);
}
}
Но приведенный ниже код в классе org.restlet.ext.odata.Generator очищает учетные данные, которые я передаю, и всегда выдает 401 несанкционированную ошибку.
Service service = new Service(dataServiceUri);
if(service.getMetadata() == null)
{
errorMessage = "Cannot retrieve the metadata.";
}
Не могли бы вы решить эту проблему и оказать поддержку в создании кода для защищенных веб-сервисов?
Спасибо Вишну
1 ответ
У меня нет ответа на restlet-as-OData-client, но если вы ищете клиент, то Apache Olingo может быть хорошей альтернативой:
Он поддерживает новейший протокол ODataV4, генерирует строго типизированные Java-классы из модели EDM и т. Д.
Вы можете проверить это @ http://olingo.apache.org/doc/odata4/maven.html, и есть полный пример проекта создания кода @ https://github.com/Tirasa/olingoClientOnAndroidSample/blob/master/pom.xml