2016-08-03 37 views
0

Der Versuch, die Dun & Bradstreet webservice zu verwenden und hatte nicht viel Glück.Mit C# Zugriff auf D & B Direct Webservice (WSDL) 101

Ich habe in der Lage, die WSDL-Datei (CompanyService.wsdl) auf ihrer Website als Service-Referenz geliefert hinzuzufügen, ich sehe nicht klar, löst die Informationen und/oder zu beantragen, wenn für Anfrage Benutzername/Passwort hinzufügen .

MatchRequest mreq = new MatchRequest(); 
MatchRequestDetail mrd = new MatchRequestDetail(); 
InquiryDetail ideta = new InquiryDetail(); 
ideta.DUNSNumber = "804735132"; 
mrd.InquiryDetail = ideta; 
MatchSpecification mspec = new MatchSpecification(); 
mspec.MatchTypeText = MatchModeEnum.Basic; 
mrd.MatchSpecification = mspec; 
mreq.MatchRequestDetail = mrd; 

Alle Hinweise in dieser Hinsicht sind willkommen.

Antwort

0

Ihr erzeugte Client sollte ein Spiel Betrieb haben, die eine MatchRequest nimmt und gibt Ihnen einen MatchResponse zurück auf das, was ich in der WSDL

<wsdl:operation name="Match"> 
    <wsdl:input message="tns:MatchRequest"/> 
    <wsdl:output message="tns:MatchResponse"/> 
    <wsdl:fault name="TransactionFault" message="tns:TransactionFault"/> 
</wsdl:operation> 

Zum Beispiel bin zu sehen, wenn Sie einen Dienstverweis mit dem Namensraum erzeugt ServiceReference1 von Visual Studio sollten Sie eine Klasse haben ServiceReference1.CompanyClient, die Sie wie so verwenden würde:

ServiceReference1.CompanyClient client = new ServiceReference1.CompanyClient(); 
MatchResponse mrsp = client.Match(mreq); 

Sie können die Sicherheitskonfigurationseinstellungen für den Benutzernamen und das Passwort im Code oder in Ihrem app.config

+0

Vielen Dank, ich versuchte Vorschlag und "Ihre Benutzer-Anmeldeinformationen sind ungültig. Bitte kontaktieren Sie Ihren D & B-Vertreter oder Ihr lokales Kunden-Service-Center. "So einfach die App.config –

+0

Vielen Dank @SpaceghostAli für Ihre Hilfe. Erfolgreich Antwort schließlich' BindingElementCollection Elemente = client.Endpoint.Binding.CreateBindingElements(); Elemente .Find (). IncludeTimestamp = false; client.Endpoint.Binding = new CustomBinding (elements); 'Ich musste den obigen Code hinzufügen und die app.config bearbeiten –