2014-02-24 82 views
1

在CommonUtilities.java文件中輸入服務器IP地址後,我能夠在Eclipse中成功構建和導出Android應用程序。WSO2 MDM Android代理問題

該apk已成功下載,安裝並運行在Android手機上。 但現在,當我輸入所有必要的數據以便首次註冊應用程序並選擇「註冊」時,我收到一條消息:「驗證失敗,是因爲連接失敗,您是否想再次嘗試?

任何想法我可能做錯了什麼?

回答

2

你能用我們最新的version替換你的ServerUtilities.java嗎?並用HTTP測試它,如果它能正常工作,那麼也請嘗試使用HTTP。如果HTTP工作並且HTTP不工作,那麼您必須檢查您的BKS並在那裏放置一個有效的BKS。

+0

嗨。非常感謝。這確實似乎解決了這個問題。 現在我得到一個身份驗證錯誤,可能是因爲用戶/密碼組合不正確,即使我也嘗試使用默認的[email protected]用戶(通過HTTP)。 – WebStack

+0

現在檢查你的日誌,看看你的服務器是否收到來自移動設備的請求(用戶名和密碼)。如果沒有,請檢查代理應用程序中的IP配置,並檢查碳管理員中的憑證。否則,您可以使用我們的MDM控制檯創建新用戶,並嘗試使用該用戶帳戶進行身份驗證。 –

+0

感謝您的信息。重新啓動MDM服務解決了我的問題(數據庫連接已關閉)。一切都在工作。感謝您在過去幾周的所有幫助! – WebStack

2

當連接失敗或服務器SSL證書不可信時,將顯示此消息。 Android代理應用程序和EMM服務器之間的連接是通過https,如果您使用的是自簽名證書,則需要將其放入Eclipse中的代理項目中,然後導出Android應用程序。 請參考Android Client Configuration創建BKS並將其添加到您的Android項目中。

類似的問題被問Github of MDM-Android-Agent

+0

謝謝你的信息。 我認爲這與我沒有將我的個人BKS文件添加到res/raw目錄這一事實有關。因此,我使用了Eclipse生成的密鑰庫文件(保存爲.bks),該文件用於初始構建和導出MDM Agent項目,但這仍然會在我的移動設備上獲得與以前相同的結果。所以我認爲我一定還在做錯,對吧? 我是否需要遵循wso2手冊上的基於openssl的教程​​來生成有效的bks或有更簡單的方法嗎? – WebStack

+0

您可以在wso2手冊中遵循基於openssl的tutorieal,您將在其中生成CA和SSL。需要將CA轉換爲BKS格式,並且需要將SSL導入到jks文件中,如[文檔](https://docs.wso2.org/display/EMM100/iOS+Server+Configurations)中所述。 – Nira

+0

謝謝。 我用openssl來創建我需要的所有p12,但是....當使用keytool時,我成功地將它們導入到wso2carbon.jks和client-truststore.jks中,但它仍然無法導入到wso2mobilemdm.jks keystore中。我總是得到消息:「keytool錯誤:java.io.IOException:無效的密鑰存儲格式」。當我將keystore類型指定爲jks時,我得到相同的錯誤,當我指定爲PKCS12時,我得到關於文件長度的錯誤。 我做錯了什麼?我GOOGLE了並嘗試了很多,但似乎wso2mobilemdm.jks文件已損壞。 – WebStack

1

Android的期待您的密鑰庫是在充氣城堡(BKS)格式。在文檔中,它已鏈接到OpenSSL中的iOS密鑰庫生成代碼,因爲此階段還需要完成以配置EMM。如果您只配置Android,請確保密鑰庫文件採用BKS格式。一種方法是通過使用OpenSSL文檔中的命令來生成JKS文件並將其轉換爲BKS格式。您可以使用Portecle

+0

好吧,我做了所有這些,但現在我仍然遇到與我最初的問題相同的問題。有沒有人有任何想法可能是錯的?我可以將我的客戶代碼發送給某人進行審覈嗎?我完全無能爲力... – WebStack

+0

我認爲你可能會遇到SSL設置的問題。你現在可以做的就是忘掉https並在http上工作。如果它可以正常工作,那麼你可以將其配置爲在稍後使用https。要使用http,你不需要處理bks文件。只需更改android代碼配置。 – Dilshan

+0

嗨,我做了你說的話,仍然無法連接到服務器..仍然收到連接失敗消息。 我的代碼是這樣的: public static String SERVER_IP =「78.47.152.125」; \t public static String SERVER_PORT =「9763」; \t public static String SERVER_PROTOCOL =「http://」; \t public static String SERVER_APP_ENDPOINT =「/ mdm/api /」; \t public static String SERVER_URL = SERVER_PROTOCOL + SERVER_IP +「:」+ SERVER_PORT + SERVER_APP_ENDPOINT; public static final String TRUSTSTORE_PASSWORD =「MyPassWord」; – WebStack