Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invoke-RestMethod does not count on Content-Type field. Broken compared to PS 5.0. #2245

Closed
sitano opened this issue Sep 13, 2016 · 6 comments
Assignees
Labels
WG-Cmdlets general cmdlet issues
Milestone

Comments

@sitano
Copy link

sitano commented Sep 13, 2016

Steps to reproduce

$ Invoke-RestMethod -Uri https://httpbin.org/robots.txt                                             

Expected behavior

Return content. Or at least behave the same as in PowerShell 5.0.

Actual behavior

Invoke-RestMethod : Unexpected character encountered while parsing value: U. Path '', line 0, position 0.
At line:1 char:1

  • Invoke-RestMethod -Uri https://httpbin.org/robots.txt
  • - CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], JsonReaderException
    - FullyQualifiedErrorId : Newtonsoft.Json.JsonReaderException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
    

Environment data

> $PSVersionTable
Name                           Value                                                                                                                                                                              
----                           -----                                                                                                                                                                              
PSVersion                      6.0.0-alpha                                                                                                                                                                        
PSEdition                      Core                                                                                                                                                                               
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                                            
BuildVersion                   3.0.0.0                                                                                                                                                                            
GitCommitId                    v6.0.0-alpha.9                                                                                                                                                                     
CLRVersion                                                                                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                                                                
PSRemotingProtocolVersion      2.3                                                                                                                                                                                
SerializationVersion           1.1.0.1

powershell 6.0.0-alpha.9-1

@sitano sitano changed the title Invoke-RestMethod do not rely on Content-Type field Invoke-RestMethod do not rely on Content-Type field. Broken compared to PS 5.0. Sep 13, 2016
@sitano sitano changed the title Invoke-RestMethod do not rely on Content-Type field. Broken compared to PS 5.0. Invoke-RestMethod does not count on Content-Type field. Broken compared to PS 5.0. Sep 13, 2016
@SteveL-MSFT SteveL-MSFT added the WG-Cmdlets general cmdlet issues label Sep 13, 2016
@ed-ilyin
Copy link

Exactrly same for me

@SteveL-MSFT SteveL-MSFT added this to the 6.0.0 milestone Nov 2, 2016
@nmbradford
Copy link

I have similar issues talking to an XML api. I've tried with -ContentType "application/xml" and with Content-Type set in the request header with same result in both cases. The exception I get is :

invoke-restmethod : Unexpected character encountered while parsing value: v. Path '', line 0, position 0.
At line:1 char:1
+ invoke-restmethod -method Post -headers $headerDictionary -uri $FullU ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], JsonReaderException
    + FullyQualifiedErrorId : Newtonsoft.Json.JsonReaderException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Note - Interesting that JsonReader is involved in parsing an xml response?

PS > $psversiontable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   3.0.0.0
GitCommitId                    v6.0.0-alpha.12-15-g92b0eb336d7af74d5e439f58ffd3a367d511c0e5
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

@chelnak
Copy link

chelnak commented Jan 6, 2017

We are seeing a similar issue (Logged here: jakkulabs/PowervRA#97).

The response content type is text/yaml but you can clearly see it's trying to use Newtonsofts Json library.

@2xmax
Copy link
Contributor

2xmax commented Feb 7, 2017

looks like it was fixed by #2862

@joeyaiello
Copy link
Contributor

@2xmax: Thanks! Looks like the original issues were fixed already :)

@jonathanmedd
Copy link

Excellent - thanks @2xmax ! We have been able to close one of our issues being able to support PowerShell Core thanks to your fix: jakkulabs/PowervRA#97

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WG-Cmdlets general cmdlet issues
Projects
None yet
Development

No branches or pull requests

8 participants