2016-09-30 40 views
1

我正在尝试连接到Bluemix中的对象存储服务。但是,我不断收到一个例外。这里是我的代码:ObjectStore Bluemix连接java

public static void main(String[] args){ 
    SwiftApi swiftApi; 

    String endpoint = "https://identity.open.softlayer.com/v2.0"; 
    String tenantName = "object_storage_aedba606_1c69_4a54_b12c_2cecxxxxxx"; 
    String userName = "e8ee36a1fa38432abcxxxxxxx"; 
    String password = "Y6R(cY3xxxxxxxx"; 
    String identity = tenantName+":"+userName; 
    String provider = "openstack-swift"; 
    String region = "dallas"; 
     Properties overrides=new Properties(); 
     overrides.setProperty(Constants.PROPERTY_LOGGER_WIRE_LOG_SENSITIVE_INFO, "true"); 
    swiftApi = ContextBuilder.newBuilder(provider) 
      .endpoint(endpoint) 
      .credentials(identity, password) 
      .overrides(overrides) 
      .buildApi(SwiftApi.class); 

    System.out.println("List Containers"); 

    ContainerApi containerApi = swiftApi.getContainerApi(region); 
    Set<Container> containers = containerApi.list().toSet(); 

    System.out.println("Listing Containers: "); 

    for (Container container : containers) { 
     System.out.println(" " + container); 
    } 
    System.out.println(" "); 
} 

我不断收到以下异常:

Exception in thread "main" org.jclouds.rest.AuthorizationException: request: 
POST https://identity.open.softlayer.com/v2.0/tokens HTTP/1.1 [Sensitive data in payload, 
use PROPERTY_LOGGER_WIRE_LOG_SENSITIVE_INFO override to enable logging this data.] 
failed with response: HTTP/1.1 401 Unauthorized 
    at org.jclouds.openstack.swift.v1.handlers.SwiftErrorHandler.handleError 
(SwiftErrorHandler.java:52) 
    at org.jclouds.http.handlers.DelegatingErrorHandler.handleError 
(DelegatingErrorHandler.java:65) 
    at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue 
(BaseHttpCommandExecutorService.java:136) 

我的应用程序是一个独立的Java应用程序。我正在使用Bluemix的Object Storage服务中提供的凭据。

任何帮助,非常感谢。

回答

1
+0

感谢访问对象存储,我结束了下降的jclouds实施和使用OpenStack4J相反,如在上面的答案中提到。这是一个耻辱,但唯一的办法,我可以让事情工作。再次感谢 – jdcalus