1

ここ数日以来、デバイスでメッセージを取得するのに苦労しています。最後に専門家の力を借りようと思います。

以下は、私が従った手順です。

  1. コア Java でプッシュ イニシエータを作成しました。注: 応答コード : 200 OK を取得しています - このメッセージは、さらに処理するために PPG に到達すると想定しています - しかし、確認されていません。

  2. Blackberry デバイス用のプッシュ対応アプリケーションのサンプルを使用しました。特定のポートでメッセージを登録して待機することができました。しかし、私はメッセージを受け取っていません:(

今、私はどうすることもできません。私の質問は 1. 私は正しい方向に進んでいますか 2. デバッグ方法とメッセージがハングアップしている場所を見つける方法はありますか?

ポジティブな解決策を待っています。前もって感謝します..

J2SEのプッシュイニシエーターの実際のコードは次のとおりです

StringBuffer dataToSend = new StringBuffer();
    dataToSend.append("--" + BOUNDARY);
    dataToSend.append(" ");
    dataToSend.append("Content-Type: application/xml; charset=UTF-8");
    dataToSend.append(" ");
    dataToSend.append("<?xml version=\"1.0\"?>");
    dataToSend
            .append("<!DOCTYPE pap PUBLIC \"-//WAPFORUM//DTD PAP 2.1//EN\" \"http://www.openmobilealliance.org/tech/DTD/pap_2.1.dtd\" [<?wap-pap-ver supported-versions=\"2.0\"?>]>");
    dataToSend.append("<pap>");
    String myPushId = ""+ new Random().nextInt();
    dataToSend.append("<push-message push-id=\"" + myPushId
            + "\" source-reference=\"" + applicationID + "\">");
    dataToSend.append("<address address-value=\"" + pin + "\"/>");
    dataToSend
            .append("<quality-of-service delivery-method=\"confirmed\"/>");
    dataToSend.append("</push-message>");
    dataToSend.append("</pap> ");
    dataToSend.append("--" + BOUNDARY);
    dataToSend.append(" Content-Encoding: binary ");
    dataToSend.append(" Content-Type: text/plain ");
    dataToSend.append(" ");
    dataToSend.append("X-Wap-Application-Id: " + applicationID);
    dataToSend.append(" X-Rim-Push-Type: browser-channel  X-Rim-Push-Title: Test X-Rim-Push-Unread-Icon: http://rim.com/icon_new.png ");
    dataToSend.append("X-Rim-Push-Read-Icon: http://rim.com/icon_viewed.png  ");
            dataToSend.append("X-Rim-Delete-URL: http://rim.com/ReceiveDelete ");
                    dataToSend.append("X-Rim-Transcode-Content: */* ");
                    dataToSend.append("Cache-Control: max-age=3600 ");
    dataToSend.append(msg);
    dataToSend.append("--" + BOUNDARY + "--");
    dataToSend.append(" ");
     printer(dataToSend.toString());
    // printer("-------------------------------------------------------------------");
    String authInfo = applicationID + ":" + userPW;

    String encoding = new sun.misc.BASE64Encoder().encode(authInfo
            .getBytes());
    // authInfo = Base64.encode(authInfo.getBytes());
    authInfo = "Basic " + encoding;
    printer(authInfo);
    URL url;
    HttpURLConnection connection = null;
    try {
        // Create connection
        url = new URL(targetURL);
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type",
                "multipart/related; boundary=" + BOUNDARY
                        + "; type=application/xml");
        connection.setRequestProperty("User-Agent",
                "BlackBerry Push Service SDK/1.0");
        // / connection.setRequestProperty("Authorization",
        // authInfo.getBytes().toString());
        connection.setRequestProperty("Authorization", authInfo);

        connection.setRequestProperty("Accept",
                "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2");
        connection.setRequestProperty("Connection", "keep-alive");
        connection.setRequestProperty("Content-Length",
                "" + dataToSend.length());
        connection.setDoInput(true);
        connection.setDoOutput(true);

        // Send request
        DataOutputStream wr = new DataOutputStream(
                connection.getOutputStream());
        wr.writeBytes(dataToSend.toString());
        wr.flush();
        wr.close();

        printer("" + connection.getResponseCode());
        String response = connection.getResponseMessage();

        printer(response);
        // return response;
4

0 に答える 0