Devo effettuare una chiamata a un servizio Web scritto in .NET. L'applicazione che effettua la chiamata è scritta in ColdFusion. Uno dei parametri previsti dal servizio Web è un oggetto DataSet. Non riesco a creare un'istanza di un oggetto .NET DataSet in ColdFusion, come posso passare al servizio Web che accetterà? Non ho problemi a scrivere la richiesta SOAP in XML non elaborato, semplicemente non so come sarebbe l'XML per un oggetto DataSet.Il servizio Web si aspetta un oggetto DataSet, come posso fornirlo tramite ColdFusion o XML non elaborato?
risposta
Tutti gli oggetti che si aspetta .NET vengono serializzati da Axis e sono a vostra disposizione. Sfortunatamente ColdFusion non lo rende facile da raggiungere.
per arrivare al stub è necessario:
- accesso WSDL in alcun modo con ColdFusion.
- Cercare nella directory dell'app CF gli stub. Si trovano in una directory "subs" , organizzata da WSDL.like: c: \ ColdFusion8 \ stubs \ WS \ WS-21028249 \ com \ foo \ bar \
- Copia tutto da "com" in giù in un nuovo directory esistente nel percorso della classe CF. oppure puoi crearne uno come: c: \ ColdFusion8 \ MyStubs \ com \ foo \ bar \
- Se hai creato una nuova directory, aggiungila al percorso della classe. e riavviare i servizi CF.
- usarli come qualsiasi altro oggetto Java con o CreateObject() MyObj = CreateObject ("java", "com.foo.bar.MyObject");
L'oggetto del set di dati dovrebbe trovarsi lì da qualche parte in qualsiasi formato java che Axis ha deciso che dovrebbe essere. Molto probabilmente si sta andando ad avere bisogno di fare quasi tutto questo in cfscript
EDIT PER DOMANDE
l'oggetto SOAP definirà la struttura dell'oggetto e asse creerà metodi per manipolarlo . Dai un'occhiata all'oggetto Java creato dall'asse. Ricordare che è possibile utilizzare CFDUMP per esaminare i metodi e le proprietà.
Ora ho visto oggetti .NET con cui Axis viene confuso, come la temuta raccolta non generica che diventa un "ArrayOfAnyType". È importante per gli sviluppatori .NET utilizzare Generics nei loro servizi in modo che Axis possa definire correttamente gli array ... se non lo fanno, fa schifo e potresti non essere in grado di utilizzarlo in soap.
ma non ho paura dell'obi-vinto ... c'è un altro modo. È sempre possibile interagire con i servizi Web .NET in un tipo di stile XML/RPC. Non è automatico, è molto parsing di XML, fa schifo, ma a volte è l'unico modo per farlo. Dovresti essere in grado di ottenere un aiuto da .NET accedendo al file .asmx senza il "? Wsdl" alla fine. Se lo fai, .NET genererà un sacco di documentazione ed esempi di come appaiono le chiamate e l'XML. In tal caso, puoi semplicemente creare l'XML e passarlo sul filo come specificato utilizzando cfhttp. In bocca al lupo!
P.S.Devo anche notare che, per quanto ne so, non c'è modo di mescolare il XML laminato a mano con gli oggetti dell'Acido ColdFusion/Apache, non c'è modo di modellare il proprio oggetto per l'uso con CF/Axis ... devi usare il mozzi o niente
@Ryber - Esiste un modo per simulare un set di dati o utilizza gli stub nell'unico modo? – Leigh
@Ryber - Anche se creo un oggetto pseudo-DataSet vuoto usando quel metodo, come posso riempirlo di valori? Immagino che non avrà metodi addRow() convenienti o qualcosa del genere. –
Corpo modificato per domande – ryber
Potresti usare JSON?
Scusa se la mia domanda non è stata chiara. Ho bisogno di interrogare un servizio web .NET usando ColdFusion, e ho bisogno di fornire un oggetto DataSet .NET da ColdFusion in qualche modo. Non vedo come JSON entri nella foto. –
- 1. Invio XML non elaborato tramite PHP Richiesta SoapClient
- 2. Come utilizzare un servizio Web ColdFusion con dotnet
- 3. Come posso POST utilizzare Java e includere parametri e un corpo di richiesta non elaborato?
- 4. Come si analizza il servizio Web XML in Swift?
- 5. Come esportare un oggetto GridView.DataSource in un datatable o dataset?
- 6. XSL: lascia passare HTML non elaborato tramite
- 7. Come aggiungere testo XML non elaborato all'elemento SOAPBody
- 8. Legge il file XML come DataSet
- 9. Come si consuma un servizio Web in Objective-C?
- 10. Come posso restituire puro XML dal servizio web asmx?
- 11. C#: servizio WCF con gli IXmlSerializable si trasforma in DataSet
- 12. DAL "DataSet tipizzati" o Oggetto aziendale personalizzato
- 13. Come posso disattivare un servizio tramite Delphi?
- 14. Convert to XML Dataset
- 15. SQLAlchemy si aspetta un oggetto, ma trova una tabella
- 16. Node.js: come consumare SOAP servizio Web XML
- 17. Come posso "accumulare" un flusso non elaborato in Node.js?
- 18. Come chiamare un servizio Web ASMX tramite GET?
- 19. Come caricare test di un servizio Web restful tramite JMeter o qualsiasi altro strumento?
- 20. Come posso includere JSON non elaborato in un oggetto usando Jackson?
- 21. Eliminazione di un documento tramite servizio Web sharepoint utilizzando JQuery
- 22. Consuma dati xml tramite C# Web Service
- 23. Connessione a neo4j tramite ColdFusion
- 24. La spia Jasmine si aspetta di essere chiamata con "Oggetto (...)"
- 25. Posso passare un oggetto anonimo in un metodo che si aspetta un parametro di riferimento di tipo oggetto?
- 26. Oggetto persistente in C#. NET Servizio Web
- 27. Autenticazione CAS di un servizio Web RESTful
- 28. Importa XML in Dataset C#
- 29. Passare i dati POST tramite HTTP non elaborato
- 30. Webservice o servizio Web?
Ho trovato alcune informazioni per convertire un set di dati .NET in qualcosa che CF può usare, ma non il contrario. Inoltre sono state trovate molte UDF in grado di convertire una query in una matrice di strutture, una struttura di array e così via, che .NET potrebbe anche utilizzare. Penso che tu abbia bisogno di documentazione dalla fonte su come si presenta il loro set di dati. – ale
Ad ogni modo, questo potrebbe essere utile: http://coldfusion.sys-con.com/node/47199 – ale
@Al Everett - Sembra davvero molto utile, potrei essere in grado di ottenere ciò che mi serve dal CFC QueryTool collegato nel articolo. Sto guardando il codice ora. –