2013-12-09 49 views
0

我正在使用JSF,並在Google Chrome中向我的index.html添加連接按鈕時,如下所示;QuickBooks在線API - 添加連接按鈕

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:ipp="" 
xmlns:ui="http://java.sun.com/jsf/facelets"  
xmlns:h="http://java.sun.com/jsf/html"  
xmlns:f="http://java.sun.com/jsf/core"  
xmlns:p="http://primefaces.org/ui"> 

<f:view> 
<h:head>  
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>  
<script type="text/javascript" 
    src="https://appcenter.intuit.com/Content/IA/intuit.ipp.anywhere.js"> 


    intuit.ipp.anywhere.setup({ 
     menuProxy: 'http://com.example/dispatch/BlueDotMenu', 
     grantUrl: 'http://com.example/dispatch/RequestOAuthToken'  }); 

    </script> </h:head> 

</f:view> 
</html> 

我得到follwoing錯誤;

屬性「xmlns:ipp」的值無效。前綴名稱空間綁定可能不爲空。

是否有我可以使用的命名空間值?

回答

1

我在這裏有一個JSF的解決方法。爲我工作。

您需要重寫QBO爲按鈕和菜單功能提供的JavaScript文件。 您可以download it from here

如果你已經實現了所有的OAuth和東西,那麼你只需要添加沒有'ipp'前綴的標籤。只需像這樣插入:

<connectToIntuit></connectToIntuit> 
<blueDot></blueDot> 

不需要命名空間。 JSF會忽略未知標記,並且JS有能力將html和事件插入到它中。

我已經下載了easyUI JS以及from here。插入你已經下載的JS-es:

<script type="text/javascript" src="#{request.contextPath}/js/jquery/easyui/jquery.easyui.min.js"></script> 
<script type="text/javascript" src="#{request.contextPath}/js/intuit.ipp.anywhere.js"></script> 

需要插入不小於1.4.4的jQuery版本。

剩下的最後一件事是 '設置' 呼叫JS-功能:

<script> 
intuit.ipp.anywhere.setup({ 
    menuProxy: '#{request.scheme}://#{request.serverName}#{request.contextPath}/qb_blueDotMenu.jsf', 
    grantUrl: '#{request.scheme}://#{request.serverName}#{request.contextPath}/qb_requestToken.jsf' 
    }); 
</script> 

其中qb_blueDotMenu.jsf - 是呈現BlueDotMenu和 qb_requestToken.jsf servlet的 - 是RequestTokenServlet獲取OAuth請求令牌,如在QuickBooks示例應用程序中顯示。

讓我知道你是否有問題。

+0

它的工作connectToIntuit按鈕!非常感謝。 – user3083346

0

這可能是晚了,但我有同樣的問題,並通過顯示IPP解決它:用

<h:outputText value="#{bean.ippConnect}" escape="false" />