1

まず、英語が下手でごめんなさい。私はこの記事を見つけてそれに従います。 https://developers.google.com/appengine/articles/soap?hl=vi

うまくいきました。そのようなサーバーだけを作成して他のクライアントで使用したいのですが、大丈夫ですか?たとえば、HelloSOAPServerServletをabc@appspot.comにデプロイしたとき、およびサービスを使用したいときは、次のURLをブラウザに貼り付けるだけです:abc@appspot.com/hellosoapserver?name=SOAP&arriving=true。どうすればそのようなことができますか?クライアントにこのサービスを使用するのはAndoird電話です。

4

2 に答える 2

0

あなたはその例でそれを得ました。

で SOAP Web サービスを作成しました:

Google App Engine で SOAP サーバーを構築する

そして、サーブレットからそれを消費するクライアントを作成しました:

JAX-WS を使用して Google App Engine で SOAP クライアントを構築する

ここで必要なのは、params に正しい値を指定して、Android アプリケーションからその URL への HTTP クライアント呼び出しを行うことです。

http://developer.android.com/reference/java/net/HttpURLConnection.htmlで入手可能な例とサンプルを提供する URLを使用する

   URL url = new URL(" http://greeter-client.appspot.com/hellosoapclient?name=SOAP&arriving=true");
   HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
   try {
     InputStream in = new BufferedInputStream(urlConnection.getInputStream());
     readStream(in);
    finally {
     urlConnection.disconnect();
   }

readStreamは、GAE でホストされているサービスからの応答を読み取る場所です。

readStream は次のようになります。

private static String readStream(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
于 2012-12-12T19:21:56.477 に答える
0

abc@appspot.comはメールアドレスです。GAE コードをデプロイすることはできません。

GAE アプリケーションを作成するときは、固有のアプリケーション名を選択する必要があります (例: ) mysoap。アプリの URL は になりますhttp://mysoap.appspot.com/

コードをアップロードすると、SOAP にアクセスできます。http://mysoap.appspot.com/hellosoapserver?name=SOAP&arriving=true

于 2012-12-12T19:15:30.833 に答える