Ho un file .WSDL dalla nostra società cliente, per il quale devo usare per chiamare un servizio web. Il loro sistema è SAP (SAP PI). La mia applicazione è un client C# .NET 3.5 sviluppato in VS 2008. Ho aggiunto un riferimento al servizio in Visual Studio utilizzando il loro file .WSDL fornito. Questo ha creato per me una classe di riferimento da utilizzare per chiamare il loro servizio e impostare per me diverse associazioni nel file app.config.Incontro di uno schema di autenticazione non autorizzato dal servizio Web
Non ho modificato nulla nel file app.config, ma ho creato codice per chiamare il loro servizio web. Tuttavia, quando chiamo il loro servizio web, ricevo la seguente eccezione:
La richiesta HTTP non è autorizzata con lo schema di autenticazione del client "Anonimo". L'intestazione di autenticazione ricevuta dal server era 'Base realm = "SAP NetWeaver Application Server ..."'.
(ho modificato leggermente la stringa utilizzata nella sezione 'regno di base', in modo da non dare fuori.)
Ha fatto l'app.config non vengono costruite correttamente dal WSDL? Dovrei modificare il file app.config in qualche modo?
Le cose che ho provato:
- cambiato AuthenticationScheme in app.config da Anonimo a base
(così come tutti gli altri tipi di autenticazione) - cambiato stringa realm in app.config per abbinare il regno nel messaggio di eccezione
- set username/pw campi nell'oggetto ClientCredentials.Username nel mio codice
Qualsiasi suggerimento o aiuto sarebbe apprezzato.
Edit: Dopo un po 'di più indagini, ho scoperto che Visual Studio ha diversi avvertimenti circa l'elemento di estensione Privacy e Privacy asserzioni: avvertimento strumento
- personalizzato: Il WSDL opzionale estensione elemento 'politica' da spazio dei nomi' http://schemas.xmlsoap.org/ws/2004/09/policy "non è stato gestito da .
- Avviso strumento personalizzato: le seguenti Asserzioni politica non sono state importate:
XPath: // wsdl: definizioni [@ targetNamespace = 'urn: sap-com: document: sap: rfc: funzioni']/wsdl: binding [@ name = 'Binding_FieldValidation'] asserzioni: ...
non ero in grado di scoprire se questo era legato o meno al mio problema corrente con lo schema di autenticazione. Sembra essere correlato, ma non sono stato in grado di trovare alcuna soluzione per ottenere la risoluzione di questi avvisi di politica. Sembra che WCF non gestisca molto bene le dichiarazioni nel wsdl.