0

Blackberry アプリケーションに問題があります。実際に、インスタント メッセージング用のサード パーティ サーバーと Web サービス呼び出し用のコードを使用して、Blackberry チャット アプリケーションを開発しました。

アプリはWIFIネットワークで正常に動作していますが、キャリアネットワークでアプリを実行しようとすると表示されます

サーバー認証に失敗しました

ConnectionStringのコードは次のとおりです。

    public static String getConnectionString() {
    String connectionString = "";

    if (DeviceInfo.isSimulator()) {
    if (USE_MDS_IN_SIMULATOR) {
    connectionString = ";deviceside=false";
    } else {
    connectionString = ";deviceside=true";
    }
    }

    else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_DIRECT) == CoverageInfo.COVERAGE_DIRECT) {
    String carrierUid = getCarrierBIBSUid();
    if (carrierUid == null) {
    // Has carrier coverage, but not BIBS. So use the carrier's TCP
    // network
    connectionString = ";deviceside=true";
    } else {
    connectionString = ";deviceside=false;connectionUID=" + carrierUid + ";ConnectionType=mds-public";
    }
    }
    else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS) {
    connectionString = ";deviceside=false";
    }
    else if (CoverageInfo.getCoverageStatus() == CoverageInfo.COVERAGE_NONE) {
    }
    else {
    connectionString = ";deviceside=true";
    }
    if ((RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN) != 0
    && WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {
    connectionString += ";interface=wifi";
    }
    connectionString += ";ConnectionTimeout=30000";
    return connectionString;
    }

BIS キャリアを取得するためのコードは次のとおりです。

public static String getCarrierBIBSUid() {
    ServiceRecord[] records = ServiceBook.getSB().getRecords();
    int currentRecord;
    try{
    for (currentRecord = 0; currentRecord < records.length; currentRecord++) {
    if (records[currentRecord].getCid().toLowerCase().equals("ippp")) {
    if (records[currentRecord].getName().toLowerCase().indexOf("bibs") >= 0) {
    return records[currentRecord].getUid();
    }
    }
    }
}catch (Exception e) {
}
return null;
}
4

1 に答える 1

2

BISの正しいサフィックスがない可能性があります。コードがいかにトリッキーかを見てください。考慮すべきことがたくさんあり、間違いを犯しやすいです。これは、5.0より前の時間で行われた方法です。

幸いなことに、これConnectionFactoryで、作業がはるかに簡単になりました。

于 2013-01-14T08:39:05.633 に答える