2

Web サービスのクライアントを実装しました。Web メソッドごとに自動生成されたファイルには、Web サービス エンドポイントへのハードコーディングされたバインディングが含まれています。

soap_endpoint = "http://localhost/MyService.asmx";

開発目的では問題ありませんが、これを PROD にプッシュする前に、これらの文字列を PROD Web サービス アドレスに置き換える必要があります。

この文字列を生成して「外部」変数に入れるために gSOAP を管理することは可能ですか?

または、展開する前に毎回エンドポイントの値を置き換える必要がありますか?

ありがとう。

4

2 に答える 2

5

gSoap Compiler から生成された関数は次のようになります。

soap_call_ns1__foo(struct soap* soap, char *URL, char *action, char *symbol, resultType &Result);

引数 URL はエンドポイント アドレスです。NULL を渡すと、WSDL ファイルのエンドポイントが使用されます。ただし、クライアントは、たとえばクライアント構成ファイル内で定義されている他のエンドポイントでこの関数を呼び出すことができます。

クライアントが -- gSoap コンパイラで生成された -- プロキシ クラスを使用している場合、エンドポイントを設定することもできます。プロキシ クラスには、サービス メソッドを呼び出す前に設定できる endpoint というメンバーがあります。

于 2010-12-09T22:02:29.613 に答える