java - getInstitutions 在 AggCatSampleApp 中返回 null

标签 java intuit-partner-platform customer-account-data-api

我下载了客户帐户数据 API 的示例应用程序 我将war文件添加到Tomcat中。我可以登录,但是 getInstitutions 返回 null。我在 SampleApp.properties 文件中添加了 Oauth 用户 key 、用户 secret 和 SAML id 提供程序 ID。

下面粘贴了 intuit-aggcat-config.xml 的内容、Tomcat 和 http header 的错误

=================intuit-aggcat-config.xml looks like this==============
<?xml version="1.0" encoding="ISO-8859-1" ?>
<intuit-config>
    <saml>
        <keystoreFile>e:\intuit\keystore.jks</keystoreFile>
        <keystorePassword>mypassword</keystorePassword>
        <keyPassword>mypassword</keyPassword>
        <certAlias>somealias</certAlias>
        <oAuthUrl>https://oauth.intuit.com/oauth/v1/get_access_token_by_saml</oAuthUrl>
    </saml>
</intuit-config>

==================Tomcat Logs====================================

URL path [/home.htm] onto handler 'homeController'
INFO : org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping - Mapped URL path [/login.htm] onto handler 'loginController'
INFO : org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping - Mapped URL path [/signOut.htm] onto handler 'loginController'
INFO : org.springframework.web.servlet.DispatcherServlet - FrameworkServlet 'aggcat': initialization completed in 1954 ms
INFO : com.intuit.aggcat.LoginController - LoginController -> showLoginPage()
INFO : com.intuit.aggcat.LoginController - LoginController -> authenticateUser()
INFO : com.intuit.aggcat.AggCatApiController - Reached fetchInstitutions
INFO : com.intuit.aggcat.AggCatApiController - Created AggCatService
INFO : com.intuit.aggcat.AggCatApiController - Failed to fetch institutions, null
===============Http headers=====================================


GET /AggCatSampleApp/login.htm HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Cookie: JSESSIONID=169482CCCF0786BA966F1CB0B2D1F00D
Connection: keep-alive

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Content-Language: en-US
Content-Length: 1611
Date: Sun, 03 Feb 2013 12:52:24 GMT
----------------------------------------------------------
http localhost 8080/AggCatSampleApp/login.htm

POST /AggCatSampleApp/login.htm HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http localhost 8080/AggCatSampleApp/login.htm
Cookie: JSESSIONID=169482CCCF0786BA966F1CB0B2D1F00D
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 41
loginUserName=user&loginPassCode=password
HTTP/1.1 302 Found
Server: Apache-Coyote/1.1
Location: http localhost 8080/AggCatSampleApp/getInstitution.htm
Content-Language: en-US
Content-Length: 0
Date: Sun, 03 Feb 2013 12:52:33 GMT
----------------------------------------------------------
http localhost 8080/AggCatSampleApp/getInstitution.htm

GET /AggCatSampleApp/getInstitution.htm HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Referer: http localhost 8080/AggCatSampleApp/login.htm
Cookie: JSESSIONID=169482CCCF0786BA966F1CB0B2D1F00D
Connection: keep-alive

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Content-Language: en-US
Content-Length: 2494
Date: Sun, 03 Feb 2013 12:52:33 GMT
----------------------------------------------------------

问候, 基兰

最佳答案

确保您的 intuit-aggcat-config.xml 和 keystore (位于 e:\intuit\keystore.jks 中)都在您的类路径中(您的构建类文件夹即可解决问题)。我相信您已经注意到错误报告并没有提供太多信息 - 您需要自己进行日志记录或输出。像这样向您的 WebUtil.java 类添加一些旧式调试,以确保您的属性文件被读取:

public AggCatService getAggCatService(String userId){

    AggCatService service = null;
    try{
        System.out.println("Authorizing:");
        System.out.println("  OUTH_CONSUMER_KEY: " + OAUTH_CONSUMER_KEY);
        System.out.println("  OAUTH_CONSUMER_SECRET :" + OAUTH_CONSUMER_SECRET);
        System.out.println("  SAML_PROVIDER_ID :" + SAML_PROVIDER_ID);
        System.out.println("  User ID :" + userId);
        OAuthAuthorizer oauthAuthorizer = new OAuthAuthorizer(OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, SAML_PROVIDER_ID,userId);
        System.out.println("OATH: " + oauthAuthorizer.toString());
        Context context = new Context(oauthAuthorizer);
        service= new AggCatService(context);
        System.out.println("Service: " + service.toString());

    }
    catch(AggCatException ex){
        System.out.println("Failed to authorize");
        System.out.println(ex.getMessage());
    }
    return service;

}

并添加此(并调用它)以确保 intuit-aggcat-config.xml 也被读取:

public void status()
{
    System.out.println("Classpath = " + System.getProperty("java.class.path"));
    System.out.println("Working Directory = " + System.getProperty("user.dir"));
    System.out.println("Keystore File = " + Config.getProperty("saml.keystoreFile"));
    System.out.println("Keystore Password = " + Config.getProperty("saml.keystorePassword"));
    System.out.println("Key Password = " + Config.getProperty("saml.keyPassword"));
    System.out.println("Cert Alias = " + Config.getProperty("saml.certAlias"));
    System.out.println("Base URL = " + Config.getProperty("baseURL.aggcat"));
}

关于java - getInstitutions 在 AggCatSampleApp 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14673122/

相关文章:

java - 如何先在flume中加载自定义库

java - 我可以将 NIO2 文件路径用于非本地文件系统架构吗

jquery - 显示蓝点菜单内容?

intuit-partner-platform - 实际删除 AggCat 机构的帐户

java - 为什么我的虚拟机中的 R 计算不一致?

java - 如何使用正则表达式分割前面带有零的字符串?

c# - 无法启动 Quickbooks。桌面 SDK 中的错误消息

c# - 从 C# 在 Quickbooks Online 中创建客户

javascript - 如何在alexa sdk V2技能中获取亚马逊电子邮件

intuit-partner-platform - aggcat php 示例不工作