2013-09-04 13 views
11

Come è possibile utilizzare il WSDL dinamico, le sue operazioni e i suoi parametri, che vengono forniti nel file di configurazione del programma?Utilizzare WSDL dinamicamente in Delphi

Ad esempio, abbiamo un file di configurazione:

[Section] 
WSDL=http://example.com/SomePub/ws/SomeService?wsdl 
Username=myuser 
Password=mypass 
OperationName=MyOperation 
ParameterName=MyParameter 

Vale a dire dobbiamo usare il servizio web, che è sconosciuto, ma dato (da ini-file) solo in fase di esecuzione. Quindi, non possiamo usare la procedura guidata Importa WSDL in Delphi.

Possiamo scrivere in Delphi un programma del genere, che caricare queste impostazioni dalla configurazione e quindi passare i dati all'operazione specificata nel parametro specificato sul servizio Web, specificato da WSDL specificato?

+1

La cosa bella dell'utilizzo statico è che si ottiene la sicurezza del tipo di compilazione e il completamento del codice nell'ide. Nel tuo codice non avrai mai bisogno di sapere come vengono trasferiti i dati o anche cosa sia xml, perché tutto è mappato in modo ordinato alle strutture delphi. Quindi hai motivi specifici per usarlo dinamicamente? –

+0

Sì, Wouter, devo. – vladon

+1

Se hai davvero bisogno di fare questo, Delphi non è lo strumento giusto per il lavoro, sarà più facile raggiungere il tuo obiettivo in linguaggi JIT come Java o .NET. – whosrdaddy

risposta

2

Utilizzando SOAPUI, importare il servizio ed eseguire una chiamata di esempio. Copia la richiesta non elaborata e la risposta non elaborata nel blocco note. Modifica i dati reali con "tag" e includi ciascun modello grezzo come valore nel tuo INI. Quando devi effettuare la chiamata, apri il tuo INI, prendi il modello di risposta non elaborato e sostituisci i tag con valori reali. Invia manualmente la richiesta SOAP e analizza la risposta nello stesso modo utilizzando il modello raw.

0

L'importatore Delphi WSDL e il toolkit di servizio Web gratuito Pascal non forniscono un modo per creare una richiesta SOAP in modo dinamico in base a un WSDL.

Il Web Service Toolkit (e l'importatore WSDL) sono solo generatori di codice sorgente, quindi è necessario compilare il codice per primo, è necessario includere un compilatore con l'applicazione.