Questo è il mio primo tentativo provando ad usare WCF, quindi sto cercando di indovinare che sto facendo qualcosa di sbagliato. Sto cercando di accedere a un servizio di sapone definito dal WSDL in http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1?wsdl sto utilizzando VS2010, e aggiungere un servizio di riferimento per il mio progetto e puntare all'URL lì (o meglio, la nostra intranet installazione di esso), ma quando utilizzo il Visualizzatore oggetti per visualizzare il servizio, le operazioni sull'interfaccia sono TUTTI i metodi void senza parametri. Sembra che WCF non stia leggendo correttamente le informazioni sul tipo. Non dà errori, ma sta dando un sacco di avvertimenti come la seguente:riferimento al servizio WCF genera metodi vuoto da WSDL
Attenzione Attenzione strumento 1 Custom: Guasto chiamato InvalidSessionException in GetPermissions operazione non può essere importati. WSDL non supportato, la parte del messaggio di errore deve fare riferimento a un elemento . Questo messaggio di errore non fa riferimento a un elemento. Se si dispone di modificare accesso al documento WSDL, è possibile risolvere il problema facendo riferimento a un elemento schema utilizzando l' 'elemento' attributo. Z: \ LibreriaProva \ Service Riferimenti \ Confluenza \ Reference.svcmap 1 1 LibreriaProva
Attenzione Attenzione strumento 2 personalizzato: Il WSDL opzionale estensione elemento 'corpo' dal namespace 'http://schemas.xmlsoap.org/wsdl/soap/' non era gestito. XPath: // wsdl: definizioni [@ targetNamespace = 'http://confluence.atlassian.com/rpc/soap-axis/confluenceservice-v1']/wsdl: binding [@ name = 'confluenceservice-v1SoapBinding']/wsdl: operation [@ name = 'getPermissions']/wsdl: input [@ name = 'getPermissionsRequest'] Z: \ LibreriaProva \ Service Riferimenti \ Confluenza \ Reference.svcmap 1 1 LibreriaProva
che cosa sto facendo di sbagliato? Ho provato a cambiare la configurazione del servizio con una combinazione di opzioni, ma non ho mai potuto inserire correttamente i tipi dal WSDL. Ho assunto che WCF genererà automaticamente le classi di tipi insieme all'interfaccia di servizio. Dovrei capire quali tipi sono in uso nel WSDL e creare da solo le classi e i dati, oppure è qualcos'altro?
+1 per suggerire svcutil.exe. – Bernard
Hmm ... sembra che funzioni con svcutil.exe. È davvero strano Grazie comunque. – StarKat99
lavorato anche per me, se si va in Visual Studio menù di avvio c'è uno shortctu per il prompt dei comandi VS che rende svcutil di facile accesso, quindi: 'svcutil.exe http: // somedomain.com/someapi.wsdl' – AaronLS