2010-12-02 14 views
2

Ich habe einen Client für meinen Web Service implementiert. Auto-generierten Dateien für jede Web-Methode enthalten Bindungen zu Web-Service-Endpunkt fest einprogrammiert:gsoap: wie man es konfigurierbar macht?

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

Es ist in Ordnung für Entwicklungszwecke, aber vorher zu ART drängen ich brauche diese Zeichenfolge mit ART Web-Service-Adresse zu ersetzen.

Ist es möglich, gSOAP zu verwalten, damit diese Zeichenfolge in eine 'externe' Variable eingefügt wird?

Oder sollte ich diesen Endpunkt-Wert jedes Mal vor der Bereitstellung ersetzen?

Danke.

Antwort

4

Die Funktionen aus dem gSOAP Compiler generiert werden, die aussehen wie:

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

Das Argument URL ist der Endpunkt-Adresse. Wenn Sie NULL übergeben, wird der Endpunkt aus der WSDL-Datei verwendet. Ihr Client kann diese Funktion jedoch mit jedem anderen Endpunkt aufrufen, der beispielsweise in der Konfigurationsdatei Ihres Clients definiert ist.

Wenn Ihr Client die - vom gSoap-Compiler generierte - Proxy-Klasse verwendet, ist es auch möglich, den Endpunkt festzulegen. Die Proxy-Klasse hat ein Mitglied namens Endpunkt, das Sie vor dem Aufruf der Service-Methoden festlegen können.