Laden...

Wie kann ich Service References in meiner Applikation nutzen?

Erstellt von ck82 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.369 Views
C
ck82 Themenstarter:in
34 Beiträge seit 2015
vor 4 Jahren
Wie kann ich Service References in meiner Applikation nutzen?

Hallo liebe Pro`s,

bin Anfänger im Bereich der Programmierung und versuche gerade in eine Windows-Forms c#-Anwendung eine Überprüfung einer EORI-Nummer zu integrieren.

Ich möchte diese Webseite prüfen: https://ec.europa.eu/taxation_customs/dds2/eos/validation/services/validation?wsdl

Im Web habe ich ein Muster gefunden, wo jemand das umgesetzt hat. Bekomme dies aber nicht zum laufen. Bei mir generiert der Code Fehler.

https://stackoverflow.com/questions/54551338/c-sharp-issue-calling-eori-soap-service

Anschließend habe ich mir Service References angeschaut und dort klingt die Umsetzung auch sehr einfach.

https://www.youtube.com/watch?v=jmJW822larw

Was in dem Video ganz einfach ist stellt sich aber bei mir scheinbar schwieriger da.

Hab zwar jetzt Klassen wie "eoriValidationResult"; "EORIValidationClient"; "eoriResponse" und so weiter, bekomme aber keine vernünftige Abfrage hin.

Name.EORIValidationClient client = new Name.EORIValidationClient();

Bei client.validateEORI muss ich ein string[] übermitteln.
Verstehe aber nicht was von mir gewünscht ist.

Hoffe meine Beschreibung ist nicht zu konfus und jemand kann mir etwas unter die Arme greifen.
Hinweis: Ich bin nicht zu faul zu suchen. Bin bereits seit 2 Tagen auf der Suche und nun melde ich mich erst an euch. Ich will nicht das ihr meine Arbeit macht, aber evtl. könnt ihr mir etwas Klarheit schaffen oder Anregungen bringen.

Freue mich auf eure Antworten und danke euch bereits jetzt für jegliche Unterstützung.

Gruß

ck

Ergänzung: Im Grunde will ich nur eine Abfrage machen ob die EORI valid ist oder auch nicht.

Beispiel der Eingabe im Webformular mit Ergebnis not valid:
https://ec.europa.eu/taxation_customs/dds2/eos/eori_validation.jsp?Lang=de&EoriNumb=DE1234567&Expand=true

16.834 Beiträge seit 2008
vor 4 Jahren

Den WSDL kannst Du als Service Reference Deinem Projekt hinzufügen.
Anschließend hast Du generierten Code, sodass Du den Service Endpoint ansprechen kannst, um die EORI Werte zu pürfen.

Die Operation in der Service Beschreobung ist ja validateEORI; ergo wirst Du eine entsprechende Methode haben mit entsprechender Übergabe des Objekts.

Mehr kann ich Dir jetzt auch nicht sagen, da ich nicht verstehe, woran Du jetzt genau hängst.

3.003 Beiträge seit 2006
vor 4 Jahren

Das zu übergebende string-Array sind die zu validierenden Nummern. Steht so im Klartext in der WSDL, die du gepostet hast.

Das Problem liegt woanders. Ich habe den Service mal schnell ausprobiert, und bekam mit dem automatisch generierten Client immer eine Ausnahme "unerwarteter Inhalt in der Antwort". Bin neugierig geworden, hab Fiddler angeworfen, und siehe da: egal, wie der Request aussieht, der Service liefert stur eine HTTP-200-Nachricht (also: OK) ohne Inhalt. Egal, was man im Request stehen hat. Um sicher zu gehen, habe ich das ganze noch einmal mit SOAPUI nachvollzogen. Selbes Ergebnis.

https://ec.europa.eu/taxation_customs/dds2/eos/news/newstar.jsp?Lang=en

Da ist eine Mailadresse. Schreib denen.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

C
ck82 Themenstarter:in
34 Beiträge seit 2015
vor 4 Jahren

Vielen Dank für eure Antworten.

Besonders @LaTino vielen Dank für deine Mühe den Service nachzubilden.

Von Fiddler hatte ich bereits im Bereich Web-API gehört, aber die Idee diesen Test durchzuführen ist mir nicht gekommen. Und deine Anwendung SOAPUI war mir bisweilen vollkommen unbekannt.

Mit deiner Rückmeldung als Absicherung habe ich mich nun an die Mail-Adresse gewandt.

Die Antwort hilft mir nicht wirklich weiter:

Dear Sir,

We acknowledge receipt of your e-mail.
Please note the disclaimer published at
>
.

Messages with deviations from the sample format will be rejected.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ev:validateEORI xmlns:ev="http://eori.ws.eos.dds.s/">
<ev:eori>SE123456</ev:eori>
<ev:eori>FR123456789</ev:eori>
</ev:validateEORI>
</soap:Body>
</soap:Envelope>

Please confirm if this recommendation is solving your problem.

Best regards,

European Commission
DG Taxation and Customs Union
Unit B3 - Customs systems

P
441 Beiträge seit 2014
vor 4 Jahren

Interessanterweise ist ein HTTP 200 kein Reject.

Aber nimm einfach Fiddler und schau, was dein Client sendet. Dann kannst du das abgleichen.