我想连接到Bluemix中的Object Storage服务。但是,我一直有例外。这是我的代码:
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服务中提供的凭据。
非常感谢任何帮助。
答案 0 :(得分:1)