CloudFoundry Java客户端抛出Java.lang.NullPointerException

CloudFoundry Java客户端抛出Java.lang.NullPointerException,java,cloud-foundry,oauth2,Java,Cloud Foundry,Oauth2,我在尝试设置CloudFoundry java客户端时遇到NullPointerException错误 流程是这样的:UI应用程序使用CF OAuth进行保护,CF OAuth要求用户输入用户名和密码。一旦通过身份验证,用户将授权UI使用CF中的资源。这将生成一个访问令牌 我正在尝试使用这个访问令牌设置客户机,以便使用JavaAPI在CF上执行一些工作。但是,它抛出一个NullPointerException。代码片段如下所示。我得到倒数第二行的错误 OAuth2AccessToken类不允许我

我在尝试设置CloudFoundry java客户端时遇到NullPointerException错误

流程是这样的:UI应用程序使用CF OAuth进行保护,CF OAuth要求用户输入用户名和密码。一旦通过身份验证,用户将授权UI使用CF中的资源。这将生成一个访问令牌

我正在尝试使用这个访问令牌设置客户机,以便使用JavaAPI在CF上执行一些工作。但是,它抛出一个NullPointerException。代码片段如下所示。我得到倒数第二行的错误

OAuth2AccessToken
类不允许我设置
refreshToken

任何帮助都将不胜感激

我正在使用的代码:

org.cloudfoundry.client.lib.org.springframework.security.oauth2.common.OAuth2AccessToken token = new    org.cloudfoundry.client.lib.org.springframework.security.oauth2.common.DefaultOAuth2AccessToken(tokenToUse);
CloudCredentials cloudCredentials = new CloudCredentials(token);
HttpProxyConfiguration proxyConfig = buildProxyConfiguration(targetUrl);
// Error occurs here
client = new CloudFoundryClient(cloudCredentials, targetUrl, orgToUse, spaceToUse, proxyConfig, selfSigned);
client.login();
调试(grep代码)这进一步表明错误来自
ResourceOwnerPasswordAccessTokenProvider
类中的以下代码段(第3行)

public OAuth2AccessToken refreshAccessToken(OAuth2ProtectedResourceDetails resource,
                            OAuth2RefreshToken refreshToken, AccessTokenRequest request) throws UserRedirectRequiredException,
                            OAuth2AccessDeniedException {
    MultiValueMap<String, String> form = new LinkedMultiValueMap<String, String>();
    form.add("grant_type", "refresh_token");
    // Line 3
    form.add("refresh_token", refreshToken.getValue());
    return retrieveToken(request, resource, form, new HttpHeaders());
}
public OAuth2AccessToken refreshAccessToken(OAuth2ProtectedResourceDetails资源,
OAuth2RefreshToken refreshToken,AccessTokenRequest请求)引发UserRedirectRequiredException,
OAuth2AccessDeniedException{
MultiValueMap form=新链接的MultiValueMap();
添加(“授权类型”、“刷新令牌”);
//第3行
添加(“刷新令牌”,refreshToken.getValue());
返回retrieveToken(请求、资源、表单、新的HttpHeaders());
}
异常堆栈

java.lang.NullPointerException 位于org.cloudfoundry.client.lib.org.springframework.security.oauth2.client.token.grant.password.ResourceOwnerPasswordAccessTokenProvider.refreshAccessToken(ResourceOwnerPasswordAccessTokenProvider.java:39) 位于org.cloudfoundry.client.lib.oauth2.OauthClient.refreshToken(OauthClient.java:126) 位于org.cloudfoundry.client.lib.oauth2.OauthClient.getToken(OauthClient.java:88) 位于org.cloudfoundry.client.lib.oauth2.OauthClient.getAuthorizationHeader(OauthClient.java:97) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientImpl$cloudfoundryclienthtprequestfactory.createRequest(CloudControllerClientImpl.java:385) 位于org.cloudfoundry.client.lib.org.springframework.http.client.support.HttpAccessor.createRequest(HttpAccessor.java:76) 位于org.cloudfoundry.client.lib.org.springframework.web.client.restemplate.doExecute(restemplate.java:538) 位于org.cloudfoundry.client.lib.rest.LoggingRestTemplate.doExecute(LoggingRestTemplate.java:54) 位于org.cloudfoundry.client.lib.org.springframework.web.client.restemplate.execute(restemplate.java:503) 位于org.cloudfoundry.client.lib.org.springframework.web.client.restemplate.getForObject(restemplate.java:240) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.getAllResources(CloudControllerClientImpl.java:1213) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.getSpaces(CloudControllerClientImpl.java:647) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.validateSpaceAndOrg(CloudControllerClientImpl.java:202) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientImpl.(CloudControllerClientImpl.java:178) 位于org.cloudfoundry.client.lib.rest.CloudControllerClientFactory.newCloudController(CloudControllerClientFactory.java:78) 位于org.cloudfoundry.client.lib.CloudFoundryClient.(CloudFoundryClient.java:164)


大师,有什么建议吗?大师,有什么建议吗??