1
private String METHOD_NAME = "schedule";
private String NAMESPACE = "http://calculate.backend.web.org";
private String SOAP_ACTION = NAMESPACE + METHOD_NAME; 
private static final String URL = "http://192.168.0.4:8080/AndroidBackEnd/services/Calculate?wsdl";

これは、クライアントからKsoap経由でWebサービスに接続するために使用しているコードです。ここのURLにIPアドレスをハードコーディングしています。新しいネットワークに切り替えるときはいつでも、アプリケーションのIPアドレスを次のように変更する必要があります。仕事

誰かがこれの解決策を共有できますか?

4

2 に答える 2

1

例えば:

たとえば、このリストから無料のダイナミックDNSサービスを選択します。IPアドレスを指すように設定できるようなアドレスを取得します。次に、ハードコードされたIPを新しいアドレスに置き換えます。http://myserver.dyndns.org

private static final String URL = "http://myserver.dyndns.org/AndroidBackEnd/services/Calculate?wsdl";

ダイナミックDNSは、実際には非常に定期的に変更されるIPアドレスを対象としています(これらのサービスによってIPが定期的に更新される必要がある場合があります)。それが必要ない場合は、通常のDNSホスティングサービスを探してください。

于 2012-08-22T21:57:57.923 に答える
1

それには2つの方法があります。

  1. (あまりエレガントではありません):コードにハードコーディングする代わりに、ユーザーから入力を受け取ります。この部分AndroidBackEnd/services/Calculate?wsdlは常に一定であるため、Web サービスをホストしているシステムの IP アドレスが必要であり、それを定数部分と連結するだけです。コードにデフォルト値を保存し、入力がないときにそれを実行します。それ以外の場合は、ユーザーが IP を入力するマシンに接続します。

  2. (すでに他の人が提案しているように):独自のドメインを作成します。(ほとんどの場合、購入する必要があるかもしれません。まだ無料で提供しているものもいくつかありますが、検索する必要があります。または、購入したい場合は、http://www.dotster. com/またはhttp://www.networkSolutions.com )。ドメインを登録したら、Web サービスを提供するシステムの静的 IP を入力して、DNS がシステムを指すようにする必要があります。

于 2012-08-23T12:47:19.307 に答える