Powershell v3 Invoke-RestMethod
Próbuję użyć nowego polecenia cmdlet invoke-restmethod do POST pliku JSON i udało się to zrobić. Nie otrzymuję jednak odpowiedzi od serwera WWW, tak jak podczas korzystania z CURL. W związku z tym, co próbuję osiągnąć, muszę pobrać informacje z repozytorium do POST i użyć tego do innego polecenia POST.
Czy ktoś może wyjaśnić, w jaki sposób mogę uzyskać oczekiwaną odpowiedź z serwera? Poniżej znajdują się dwie komendy 1. na CURL, 2. na Invoke-RestMethod. Polecenie curl wykona poprawny test POST i zwróci odpowiedź. Komenda PowerShell wykona poprawny test POST, ale nie zwróci odpowiedzi.
Dzięki
edytować: Główną rzeczą, którą sądzę, że próbuję uzyskać z pliku wyjściowego ps, są „nagłówki odpowiedzi”, tj. wyjście poniżej z polecenia curl
< HTTP/1.1 201 Created
< Date: Thu, 26 Jul 2012 01:20:06 GMT
< Server: Apache
< X-EM7-Implemented-methods: GET,PUT,POST
< X-Powered-By: ScienceLogic,LLC - EM7 API/Integration Server
< Location: /ticket/321750
< X-EM7-status-message: ticket /ticket/321750 added.
< X-EM7-status-code: CREATED
< Content-Length: 830
< Content-Type: application/json
<
Curl Command
curl -f -v -s -k --no-sessionid -H X-em7-beautify-response:1 -H content- type:application/json https://URLHERE --data-binary @jsonfile.json
Kod Powershell
$cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("certfile.crt")
$json = Get-Content jsonfile.json
$cred = Get-Credential -Message "Enter Credentials"
Invoke-RestMethod -Uri https://URLHERE -Credential $cred -Body $json -Certificate $cert -ContentType application/json -Method POST