2013-12-09 4 views
0

Я использую JSF и добавляя кнопку подключения к моему index.html в Google Chrome следующим образом;QuickBooks Online 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> 

Я получаю следующую ошибку;

Значение атрибута "xmlns: ipp" недействительно. Префиксные привязки пространств имен могут быть пустыми.

Есть ли значение пространства имен, которое я могу использовать?

ответ

1

У меня есть обходное решение для JSF здесь. Работал для меня.

Вам нужно немного переписать файл JavaScript, который QBO предоставляет для функции кнопки и меню. Вы можете download it from here.

Если вы внедрили все OAuth и прочее, вам просто нужно добавить теги без префикса 'ipp'. Просто вставьте вот так:

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

Не требуется пространств имен. JSF просто игнорирует неизвестный тег, и JS имеет возможность вставлять в него html и события.

Я загрузил easyUI JS также from here. Вставьте JS-эс вы загрузили так:

<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> 

Требуется вставить JQuery версии не менее 1.4.4.

Последнее, что осталось, вызов 'Настройка' 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 - это RequestTokenServlet который получает токен запроса OAuth, как показано в приложении QuickBooks Sample.

Дайте мне знать, если у вас есть вопросы.

+0

Он работал! Большое спасибо. – user3083346

0

Это, наверное, поздно, но у меня была такая же проблема и решить ее с помощью отображения IPP: кнопка connectToIntuit с

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

Смежные вопросы