Gewusst wie: erfassen von HTTP-Verkehr von Vermittler-Web-API-service?
Hier ist das setup, das ich derzeit habe:
Client-App -----> Vermittler-Web-API-Service (Anrufe von Kunden) ------> 3rd-party-RESTful-service (Anrufe von Vermittler-service)
Also, wenn ich Anrufe, stammen von dem client an den Vermittler-service oder Anrufe, die Ihren Ursprung aus der zwischenkasse in die 3. party-service-ich kann Fiddler oder Wireshark zu untersuchen Gepostet XML/JSON.
Das problem ist, wenn ich einen Anruf von dem Kunden alle den Weg durch, und ich wollen, um zu überprüfen, die eigentlichen raw-ausgehende HTTP-Nachrichten, die gesendet werden von der Vermittler-service, um die 3rd-party-service. Wenn ich Fiddler auf dem server, der enthält die Vermittler-service, sehe ich nicht den HTTP-Datenverkehr, der ausgehend vom es. Ich habe auch versucht Wireshark und es nicht abholen Verkehr. Aber ich weiß, dass es stattfindet, weil die 3rd-party-service ist das senden Sie mir Fehler zurück.
Den Vermittler agiert als Fassade für die client apps an den 3rd-party-service und Massagen, die Daten von der client vorher noch einen HTTP-client, ausgehende, um die 3rd-party-service. Ich habe Probleme mit den ausgehenden Nachrichten akzeptiert werden, die von der 3rd party service und wirklich brauchen, um zu sehen, die rohen HTTP-Nachricht, die ausgelassen durch den Vermittler-service (ich bin mit einem HttpClient.PostAsync
um die Daten zu VERÖFFENTLICHEN, um die 3rd-party-service). Ich habe bereits bestehen Sie auf die Datenbank, bevor Sie Sie versenden, aber das, was ich bin, das herausziehen scheint OK zu sein.
So ist die wichtigste Frage, wie bekomme ich die Nachricht, dass mein Vermittler ist die Buchung auf der 3rd-party-service? Gibt es etwas, das mit Fiddler, Wireshark oder einem anderen Programm, dass ich verwenden können, um zu überprüfen, dass die HTTP-Nachricht outbound aus, dass die Vermittler-service?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Konfigurieren Sie Ihren "Vermittler-Web-API-service" um einen proxy für den Verkehr durch eine Fiddler-Instanz auf dem gleichen (oder einem anderen) computer, und dieser wird funktionieren.
Wenn Ihr service geschrieben wird .NET, können Sie entweder konfigurieren Sie die proxy manuell: http://www.fiddler2.com/fiddler/help/hookup.asp#Q-DOTNET oder aktualisieren können Sie die Maschine.config oder web.config: http://www.telerik.com/automated-testing-tools/blog/eric-lawrence/13-01-08/capturing-traffic-from-net-services-with-fiddler.aspx, so dass der Verkehr geht durch die Fiddler Instanz.
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
Ich glaube nicht, dass Fiddler funktioniert, als es nur abfangen der Anrufe, die in einem browser. Können Sie eine änderung an Ihrem Vermittler-code ?. Können Sie Spritzen einen handler für das protokollieren der Nachricht in den HttpClient verwenden, um einen Anruf zu tätigen, um die Dritte party-service. Die Prozedur würde dann so Aussehen,
Und den code für die Injektion dieser handler in einem HttpClient Instanz wie diese,