VMware Cloud Community
rzepa_m
Contributor
Contributor
Jump to solution

Brocade - Error code 415: Unsupported Media Type

We tried to create MP for Brocade switch. FOS REST API supports the XML (default) and JSON media types.
For the JSON media type, we have to include in the headers "application/yang-data+json". Unfortunately, Management Pack Builder does not support it and it include by default their media type "application/json" at the end of Accept.

Maybe somebody know any workaround for this, or how to force MPB to handle "application/yang-data+json" and not append application/json

Thank you for helping

Regards

Marcin 

1 Solution

Accepted Solutions
marbogast
VMware Employee
VMware Employee
Jump to solution

Hi @galfieri

Next step would be to remove the session-based authentication (see no-session.png). Then you can set the headers under Global Request Settings (global-request-settings.png). Finally, set the request path to a working endpoint such as "running/brocade-chassis/chassis" (test-connection-request.png).

I'll also reach out directly in case it would be easier to set up a meeting.

Best regards,

Mark

 

View solution in original post

11 Replies
marbogast
VMware Employee
VMware Employee
Jump to solution

Hi Marcin,

Thanks for finding this issue. We were able to reproduce it and unfortunately we were not able to find a workaround. We will add support for custom Accept values (without appending application/json) in a future release of MP Builder.

Best regards,

Mark

Reply
0 Kudos
rzepa_m
Contributor
Contributor
Jump to solution

Hi Mark,

Thank you for your answer
Do you know when next version of MPB will be available.

Regards

Marcin

Reply
0 Kudos
marbogast
VMware Employee
VMware Employee
Jump to solution

Hi Marcin,

We are working on the 1.1 release now and plan on having it done as soon as possible, but we haven't announced a release date yet. We are going to try to add support for custom Accept headers in 1.1.

Best regards,

Mark

Reply
0 Kudos
rzepa_m
Contributor
Contributor
Jump to solution

Hi, any news about new version of MPB. We need it to prepare MP for SAN switches monitoring. 

Reply
0 Kudos
tdunckel
Community Manager
Community Manager
Jump to solution

Version 1.1 does have this feature in the scope.  We are currently planning an April release date.

Reply
0 Kudos
tdunckel
Community Manager
Community Manager
Jump to solution

Management Pack Builder v1.1 has been released and can be downloaded here

Reply
0 Kudos
galfieri
Contributor
Contributor
Jump to solution

Hi.

I'm using MPB 1.1.0 and I'm getting the same error "Unsupported Media Type" after login request to Brocade. Even if I specify "application/yang-data+json" as Content-Type and Accept label in the header, the Builder ignore them. I see following string in the log:

[DefaultDispatcher-worker-1] DEBUG ExecLogger [] - -> Accept: application/json; application/yang-data+json; application/yang-data+json.

Any idea ?

Reply
0 Kudos
marbogast
VMware Employee
VMware Employee
Jump to solution

Hi @galfieri,

We have a workaround which has led to success with other customers for FOS REST API:

1. In the Source, use basic authentication instead of session (we used running/brocade-chassis/chassis as the API Path, but you can use any working endpoint)

2. In the Source, set the Accept and Content-Type to "application/yang-data+json" (do not set Accept or Content-Type in individual requests)

Please let me know if this workaround works for you. If not, please provide screenshots of the Source and Request Accept header configurations.

Best regards,

Mark

Reply
0 Kudos
galfieri
Contributor
Contributor
Jump to solution

Good morning marbogast and sorry for delay !

Could you please explain what do you mean for "In the Source, set the Accept and Content-Type..." ?

Please take a look at attached screenshot...Content-Type can not be removed and I already set it as you explained. Are you able to send a screenshot in order to see where exactly you set bot Accept and Content-Type parameters ?

Thank you very much.

 

Reply
0 Kudos
marbogast
VMware Employee
VMware Employee
Jump to solution

Hi @galfieri

Next step would be to remove the session-based authentication (see no-session.png). Then you can set the headers under Global Request Settings (global-request-settings.png). Finally, set the request path to a working endpoint such as "running/brocade-chassis/chassis" (test-connection-request.png).

I'll also reach out directly in case it would be easier to set up a meeting.

Best regards,

Mark

 

galfieri
Contributor
Contributor
Jump to solution

Thank you very much !

It works and the issue has been solved.