cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Anonymous
Not applicable

Custom Connector: Produces|Consumes & Accept|Content-Type

Our API has custom application types.

In addition We have the option of either an SML or JSON format. For example:

- application/vnd.whispir.message-v1+xml 
- application/vnd.whispir.message-v1+json

 

I have specificed both of these as the produces and consumes on my endpoint methods, but there is no option to choose these when I'm testing my endpoints. 

 

Is this a bug or is the practice to define an additional OPEN API file which is just for Flow to consume that specifies only a single value?

 

Thanks,

-p

1 ACCEPTED SOLUTION

Accepted Solutions
Anonymous
Not applicable

 

I am going to answer my own question...

 

When in the Custom Connector wizard and in the TEST step, you cannot specify the Accept or Content-Type headers.

When you use your connector in an actual Flow you can.

 

 

View solution in original post

7 REPLIES 7
ashwinsa
Power Apps
Power Apps

Hi @Anonymous Flows support JSON only as the information exchange format from the endpoints that you have. Please modify the swagger to reflect JSON as the produces/consumes.

Anonymous
Not applicable

Thanks for the reply @ashwinsa.

 

I see how this approach will work for endpoints with a single mime-type, but how will this work for endpoints which have more than one possible vendor specific mime-type.

 

I could remove the XML variants, but I will would still need a picker in the Custom Connector wizard to pick from the two json options.

 

For example:

 

"produces": [
    "application/vnd.whispir.message-v1+json",
    "application/vnd.whispir.bulkmessage-v1+json",
    "application/vnd.whispir.message-v1+xml",
    "application/vnd.whispir.bulkmessage-v1+xml"
],
"consumes": [
    "application/vnd.whispir.message-v1+json",
    "application/vnd.whispir.bulkmessage-v1+json",
    "application/vnd.whispir.message-v1+xml",
    "application/vnd.whispir.bulkmessage-v1+xml"
],

Thanks!

 
Anonymous
Not applicable

Wanted to let you know what even when I remove the XML options fron Produces and Consumes, Flow does send those values.

Anonymous
Not applicable

 

I am going to answer my own question...

 

When in the Custom Connector wizard and in the TEST step, you cannot specify the Accept or Content-Type headers.

When you use your connector in an actual Flow you can.

 

 

View solution in original post

Hi Patrick,

Where in the flow creation step can you set the Content-Type?  I cannot seem to find it.

Anonymous
Not applicable

You need to add a header paramter to your custom connector swagger file.

 

"parameters" : [ 
     {
          "name" : "Accept",
          "in" : "header",
          "required" : true,
          "description" : "Application specific mime-type",
          "default" : "application/vnd.yourstuff-v1+json",
          "type" : "string",
          "enum" : [ "application/vnd.yourstuff-v1+json" ]
},
],

 

 

However, I also believe only JSON is supported anyway, so I lopped off our XML options and defaulted to JSON.

So they appear as custom parameters?

I think Accept works fine, however it seems content-type is still being forced to "application/json" rather than "application/vnd.api+json" which is what is needed to talk to the api.  

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors
Top Kudoed Authors
Users online (3,329)