2017-08-05 49 views
0

我要到Salesforce庫集成到Liferay的7 MVC的Portlet,以下步驟是我做了什麼:Liferay的7附加Salesforce的罐子庫錯誤

  1. 添加庫類路徑。在Eclipse中,轉到項目>屬性> Java構建路徑>庫>添加外部JAR,然後添加SFDC-WSC JAR這份名單

  2. 添加以下行的build.gradle: 編譯組:「com.force .API」,名稱: '力WSC',版本:'40 .1.1'

Java源代碼就可以了,直到我用gradle這個內部版本的項目,會出現以下錯誤:

錯誤:包com.sforce.soap.enterprise不存在import com.sforce.soap.enterprise.EnterpriseConnection;

錯誤:com.sforce.soap.enterprise包不存在import com.sforce.soap.enterprise.QueryResult;

錯誤:包com.sforce.soap.enterprise不存在import com.sforce.soap.enterprise.SaveResult;

我還設置了BND文件作爲依據David H製作NEBINGER的博客文章如下:https://web.liferay.com/web/user.26526/blog/-/blogs/osgi-module-dependencies 但沒有什麼是改善

捆綁-類路徑:\ LIB/externalLib.jar -includeresource:\ LIB /externalLib.jar=externalLib.jar,\\ lib/commons-lang.jar = commons-lang = [0-9] *。

在此先感謝

回答

0

我最近開發了這樣的解決方案,但我使用了不同的方法。我已經實現了一個導出Salesforce的SOAP API的OSGi包。通過這種方式,您可以在任何其他Liferay套件中使用Salesforce API。

在此Salesforce SOAP API Client OSGi Bundle存儲庫中,您可以找到來源。 Maven Central也提供OSGi bundle

一旦安裝了Salesforce SOAP API客戶端OSGi包,您可以在任何其他Liferay包(如MVC Portlet)中使用它。此示例項目Salesforce Liferay Gogo Shell Command Client實現了一組Gogo Shell命令,這些命令允許我們與Salesforce CRM系統進行交互。

在你的特定情況下,如果你想通過Gradle包含外部庫,那麼你可以通過關鍵字compileInclude聲明你的依賴關係。

dependencies { 
compileOnly group: "org.osgi", name: "org.osgi.core", version: "6.0.0" 
compileOnly group: "org.osgi", name: "org.osgi.service.component.annotations", version: "1.3.0" 
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.6.0" 
compileOnly group: "org.apache.felix", name: "org.apache.felix.gogo.runtime", version: '1.0.6' 
compileInclude group: 'org.fusesource.jansi', name: 'jansi', version: '1.16' 
compileInclude 'de.vandermeer:asciitable:0.3.2'} 

這樣你就不必對bnd文件做任何事情。外部的瓶子,就像魔術一樣放在你的包裏,MANIFEST將是正確的。

如果你想生成的存根,然後你走在Force.com Web Service Connector (WSC)

+1

非常感謝您的回答,但在此之前我看了你的答案,我必須做如下: 右鍵點擊項目 - >搖籃 - >刷新gradle這個項目 然後將saleforce API庫下載到我的portlet的外部依賴項中,看起來沒問題。但從生成的wsdl庫的剩餘錯誤,我使用遵循指南生成它: http://usefulliferaytips.blogspot.jp/2014/01/liferay-and-salesforce-integration.html 你能告訴我怎麼可以我導入生成的wsdl以在我的項目中使用。 非常感謝! –

+1

你好安東尼奧, 非常感謝你,我很抱歉,我沒有提及同一個問題被張貼在: https://web.liferay.com/community/forums//message_boards/message/92741832 你能給我這個問題的任何理想嗎? 期待聽到你的消息。 –