【问题标题】:Work with OData secured service使用 OData 安全服务
【发布时间】:2010-10-20 13:47:54
【问题描述】:

我想生成 OData 安全服务的实体类和服务类。 在 OData Java 扩展页面中写到我需要使用应该获取 uri 和输出目录参数的 org.restlet.ext.odata.Generator 类。 但是,如果我的 OData 服务是安全的,则生成器实例无法在没有服务的用户名和密码的情况下生成服务类。 我没有找到任何方法将用户名和密码传递给生成器类。

我得到 401 HTTP 响应代码。

请帮忙。

【问题讨论】:

    标签: authentication generator odata restlet


    【解决方案1】:

    在 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);
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      在 OData 扩展生成的 org.restlet.ext.odata.Service 子类中,您可以调用 setCredentials() 并传递 ChallengeResponse 的实例,包括方案(BASIC?)、登录名(标识符)和密码(秘密) .

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-15
        相关资源
        最近更新 更多