0

netbeans (Java EE) で Web サービスを作成し、Android アプリ (Eclipse で作成) と通信したいと考えています。

たとえば、通信しようとしているときは、ブラウザから Web サービスを呼び出します。

localhost:9999/SupRails_Start/resources/rest/mail@gmail.com/password

...そしてそれは私にJSONを与えます...

ADB では、その URI を次のように呼び出します。

10.0.2.2:9999/SupRails_Start/resources/rest/mail@gmail.com/password

しかし、それは私に与えます

java.lang.IllegalArgumentException: Illegal character in scheme at index 0: 10.0.2.2:0000/SupRails_Start/resources/rest/...

JSON (ブラウザーから受信したもの) をコピーして PHP ページに貼り付け、それを Web 上でホストすると、完全に機能します。

これが私のAndroidプロジェクトの一部です:

WebService webService = new WebService("10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root");
        Map<String, String> params = new HashMap<String, String>();
        String temp = webService.webGet("", params);
        Log.v("", "JSON received = "+temp);

私を助けてください私は私の間違いを理解していません...どうもありがとう!

4

1 に答える 1

1

Web サービスの URL が完全ではありません。有効な URL の構文は次のようになります。

scheme://domain:port/path?query_string#fragment_id

すべての URL は次の要素で構成されます: スキーム名 (一般にプロトコルと呼ばれる)、その後にコロン、2 つのスラッシュ、[注 1]、スキームに応じてサーバー名 (exp. ftp.、www.、smtp.など) の後にドット (.)、ドメイン名 [注 2] (または IP アドレス)、ポート番号、取得するリソースまたは実行するプログラムのパス、次に次のようなプログラムの場合Common Gateway Interface (CGI) スクリプト、クエリ文字列[7][8]、およびオプションのフラグメント識別子。

【ウィキペディア】

したがって、これを変更します。

new WebService("10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root")

これに:

new WebService("http://10.0.2.2:9999/SupRails_Start/resources/rest/wil.nad@gmail.com/root")
于 2012-05-20T14:42:34.790 に答える