Laden...

Suche ein gutes HttpClient/HttpListener-Beispiel

Erstellt von Sandra vor 6 Jahren Letzter Beitrag vor 6 Jahren 2.798 Views
Thema geschlossen
S
Sandra Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren
Suche ein gutes HttpClient/HttpListener-Beispiel

Hallo,
kennt jemand ein gutes Beispielprojekt, für den Datenaustausch.
Ich muss eine Anfrage senden und erhalte das zurück.
Wäre sehr nett, Infos zu erhalten. Einmal Server, einmal Client.
Connectionstring: http://127.0.0.1:8080
DANKE.
Grüße Sandra

 
// Create a listener.
HttpListener listener = new HttpListener();
HttpClient   

Request


<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Machinetyp4 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:me="http://sap.com/xi/ME">
   <soapenv:Header/>
   <soapenv:Body>
      <me:ItemByBasicDataQuery_sync>
         <me:DataMaschineQuery>
            <me:Item>RequestMachine</me:Item>
         </me:DataMaschineQuery>
      </me:ItemByBasicDataQuery_sync>
   </soapenv:Body>
</soapenv:Machinetyp4>

// RESPONSE
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Machinetyp4 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:me="http://sap.com/xi/ME">
   <soapenv:Header/>
   <soapenv:Body>
      <me:ItemByBasicDataQuery_sync>
         <me:DataMaschineQuery>
            <me:Item>Tester</me:Item>
            <me:Revision>v4.7</me:Revision>
            <me:SiteRef>
               <me:Site>No2</me:Site>
            </me:SiteRef>
         </me:DataMaschineQuery>
      </me:ItemByBasicDataQuery_sync>
   </soapenv:Body>
</soapenv:Machinetyp4>


16.806 Beiträge seit 2008
vor 6 Jahren

SOAP ist eher WCF statt simpler HTTP Client, das ist Dir bewusst? Willste wirklich das Schema selbst validieren und parsen? 🤔

S
Sandra Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

Wenn ich ehrlich bin, nicht ganz.
Es sind relativ kleine Messages und ich sollte es zunächst mit HTTP erstellen.
Alternativ sehr gerne mit WCF, wenn Du hierzu ein Beispiel hast, wie man das macht, würde ich nicht nein sagen.

Zunächst wollte ich ein WSDL File haben, es ist SAP Webserver, aber der Kunde leistet da keinen Support.

Also muss ich eine Ebene tiefer gehen. Die Vorgehensweise, also alle 3 ist neu für mich und bitte um Unterstützung, Beispiele.

Sehr nett wäre es aufzuzeigen, wie ich die Anfrage sende, die Antwort,
diese Werte
<me:Item>Tester</me:Item>
<me:Revision>v4.7</me:Revision>
auslesen kann.

Den Rest bekomme ich dann selbst hin.
Wenn die Kommunikation mal steht.

Also Danke im Voraus.

Viele Grüße Sandra

16.806 Beiträge seit 2008
vor 6 Jahren

Hast Du Dir überhaupt mal die Dokumentation von HttpWebRequest angeschaut? Den Code werden wir Dir nicht fertig schreiben.
Mit nem Listener kann man nur "hören", deswegen auch "listener"

S
Sandra Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

Hallo,
ja, evtl. kennst Du ja ein gutes Beispiel.
Der Client sendet eine Anfrage,
der Listener empfängt und sendet eine Antwort.
Deshalb wäre es nett als Anfangsbeispiel den
HttpListener zu nehmen. (nicht den Web)
Grüße Sandra

2.207 Beiträge seit 2011
vor 6 Jahren

Hallo Sandra,

hast du mal Beispiele wie dieses https://thecsharper.com/?p=409 angeschaut? Die Antwort, die du bekommst, musst du noch parsen. Hapert es dort?

Ich muss eine Anfrage senden und erhalte das zurück

Also erhältst du bereits eine Antwort? Suchst du trotzdem ein volles Beispiel mit Client und Server?

Gruss

Coffeebean

3.003 Beiträge seit 2006
vor 6 Jahren

Der Client sendet eine Anfrage, der Listener empfängt und sendet eine Antwort.
Deshalb wäre es nett als Anfangsbeispiel den HttpListener zu nehmen. (nicht den Web)

Sorry, aber ich halte das händische Bauen eines Clients/Servers mittels HttpListener für völligen Unfug. Das ist ein SOAP-Request, also nimm auch den SOAP-Weg, den .NET dir anbietet (= WCF). Alles andere ist unverhältnismäßig viel Aufwand. Wenn du an die WSDL rankommst (wovon ich ausgehe, wenn ich schon den Namensraum lese), kannst du sowohl Service als auch Client komplett durch tools zusammenbauen.

LaTino
EDIT: Leitfaden SAP XI / WSDL
EDIT 2: [Hinweis] Wie poste ich richtig?, Punkt 2.2.

"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)

S
Sandra Themenstarter:in
4 Beiträge seit 2017
vor 6 Jahren

Hallo,
Nein ich bekomme noch keine Antwort.
Ich suche ein Beispielcode für
Client
Server

Und anschließend wie ich das parsen kann.

Ich habe WSDL Files, bekomme aber keine Verbindung, weil kein Connect, URL zu finden ist.

Also muss ich es klassisch umsetzen.
Viele Grüße Sandra

16.806 Beiträge seit 2008
vor 6 Jahren

[Hinweis] Wie poste ich richtig? Punkt 4: verlangt keine fertigen Lösungen.
Das Forum ist kein kostenloser Code-Generator.

3.003 Beiträge seit 2006
vor 6 Jahren

Ich habe WSDL Files, bekomme aber keine Verbindung, weil kein Connect, URL zu finden ist.

Dieser Satz ergibt keinen Sinn.

https://msdn.microsoft.com/de-de/library/aa751905(v=vs.110).aspx

Dann:


using(var client = new GeneratedClient(myBinding, myEndpointAddress))
   return client.BasicDataQuery(myBasicDataQueryRequest);

(Namen der Operation und der Kommunikationsobjekte natürlich nur geraten, die entnimmst du - ebenso wie die Bindung und den Endpunkt - der WSDL bzw. eben der Konfiguration)

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)

16.806 Beiträge seit 2008
vor 6 Jahren

Crosspost und daher geschlossen. Ziemlich respektlos dem Forum und den Helfern gegenüber.

https://social.msdn.microsoft.com/Forums/vstudio/en-US/c2cccf51-778a-49e5-9570-9e1f34c0095c/httplistener-httpclient-example-code

Thema geschlossen