Ho un'applicazione server/client sviluppata in Delphi 2006. Il client è Win32 e il server è un servizio web .net 1.1.Servizio WCF esposto come ASMX non accetta i parametri
Siamo in procinto di aggiornare questo progetto, ma deve essere fatto in piccoli passi. Ho iniziato con il server e ho creato un progetto WCF in VS2010 (C# .net 4.0). Il primo passo è far funzionare il server in WCF senza cambiare il client. Così ho usato il modello di facciata, ho creato un'interfaccia simile al vecchio delphi Webservice aggiunto un riferimento alla vecchia .net 1.1 dll e nella mia implementazione ho appena chiamato il vecchio codice .net 1.1.
Passaggio successivo aggiornamento della classe proxy sul client. Questo fallì. L'importatore WSDL non ha compreso correttamente BasicHttpBinding, quindi la classe proxy generata non ha potuto sostituire il proxy esistente.
Dopo un po 'di ricerca ho trovato questo post sul blog.
http://kjellsj.blogspot.com/2006/12/how-to-expose-wcf-service-also-as-asmx.html
Questo ha funzionato, l'ASMX WSDL non era diverso rispetto al vecchio .net 1.1, quindi tutto ok appered.
Ma non lo era. Durante il test del nuovo servizio ho scoperto che tutti i miei parametri erano vuoti/nulli sul server. Ho provato con Fiddler sul client e i parametri sono presenti nell'XML che viene inviato al server.
Quindi sono bloccato. Qualche idea su come risolvere questo sarebbe molto apprezzata. C'è qualche codice che potrebbe essere interessante da vedere, poi fammi sapere.
Così il WSDL è lo stesso, ma il server è ora .Net 4.0 invece di 1.1? Se il client Delphi utilizza lo stesso WSDL di prima, ma il server non vede più i parametri, vorrei scrivere un client in .Net e vedere se funziona. Se lo fa, confronta le richieste Soap di .Net e Delphi del cliente. – mjn
Confronta l'XML. "Parametri nulli" di solito significa che c'è una differenza di spazio dei nomi tra ciò che viene inviato e ciò che è previsto. –