Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Restlet Odata扩展生成安全web服务的代码_Odata_Restlet_Restlet 2.0 - Fatal编程技术网

使用Restlet Odata扩展生成安全web服务的代码

使用Restlet Odata扩展生成安全web服务的代码,odata,restlet,restlet-2.0,Odata,Restlet,Restlet 2.0,我正在尝试为我的安全web服务使用restle-Odata-extesnion创建对象模型(java类)。作为这个过程的一部分,我编写了下面的代码来生成代码 import org.restlet.ext.odata.Generator; import org.restlet.ext.odata.Service; import org.restlet.data.ChallengeResponse; import org.restlet.data.ChallengeScheme; public c

我正在尝试为我的安全web服务使用restle-Odata-extesnion创建对象模型(java类)。作为这个过程的一部分,我编写了下面的代码来生成代码

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类中的以下代码正在清除我传递的凭据,并且总是抛出未经授权的错误

Service service = new Service(dataServiceUri);
if(service.getMetadata() == null)
{
  errorMessage = "Cannot retrieve the metadata.";
}
您能否修复此问题并提供支持以生成安全Web服务的代码

谢谢
毗瑟奴

我没有restlet作为OData客户端的答案,但如果您寻找的是客户端,ApacheOlingo可能是一个不错的选择:

它支持最新的ODataV4协议,从EDM模型生成强类型的java类,等等

您可能想查看@,这里有一个生成代码的完整示例项目@