
Announcements
Hi there,
I have an odd issue. I' trying to get product data from a custom connector. The "5. Test" in the connector configuration gives back the response I was hoping for. Using the connector in power automate is also working well.
My goal was to get a list or one product in Power Apps. But the following code gives back an error:
ClearCollect(Products; GetProducts.GetProducts({'$filter': "No eq '40300'"}).value.Description)
"GetProducts.GetProducts": {"statusCode: 404, "message": "Resource not found"}
What I did so far:
- Re-created the connector
- exported the connector and imported it
- deleted connection and connected again
- waited 24 hours
Here is the Swagger-code:
swagger: '2.0'
info: {title: GetProducts, description: Gibt Produkte wieder inkl Filter, version: '1.0'}
host: xxx.cloud
basePath: /
schemes: [https]
consumes: []
produces: []
paths:
/xxxx/ItemInventoryList:
get:
responses:
default:
description: default
schema:
type: object
properties:
'@odata.context': {type: string, description: '@odata.context'}
value:
type: array
items:
type: object
properties:
'@odata.etag': {type: string, description: '@odata.etag'}
'No': {type: string, description: 'No'}
Description: {type: string, description: Description}
Inventory: {type: integer, format: int32, description: Inventory}
Global_Dimension_1_Filter: {type: string, description: Global_Dimension_1_Filter}
Global_Dimension_2_Filter: {type: string, description: Global_Dimension_2_Filter}
Location_Filter: {type: string, description: Location_Filter}
Drop_Shipment_Filter: {type: string, description: Drop_Shipment_Filter}
Variant_Filter: {type: string, description: Variant_Filter}
Lot_No_Filter: {type: string, description: Lot_No_Filter}
Serial_No_Filter: {type: string, description: Serial_No_Filter}
Unit_of_Measure_Filter: {type: string, description: Unit_of_Measure_Filter}
Package_No_Filter: {type: string, description: Package_No_Filter}
description: value
summary: Gibt Produkte zurück, inkl. Filtering
operationId: GetProducts
parameters:
- {name: $filter, in: query, required: false, type: string}
definitions: {}
parameters: {}
responses: {}
securityDefinitions:
basic_auth: {type: basic}
security:
- basic_auth: []
tags: []
Am I missing something, thanks in advance for your help
Edit: I monitored power apps now and found out that the request url differs from the URL defined in the connector itself. Is that right?
I found the solution.
So the custom connector can handle handle spaces and apostrophe. That's why the test was successful.
Apparently if you integrate the connector in your app it doesn't like spaces anymore and replaces the spaces and apostrophes with unicodes %20 and %27.
One part of the API's URL was:
/Company('Some Company Inc')/ItemInventoryList
After implementing it into PowerApps it was:
Company%28%27Some%20Company%20Inc%27%29/ItemInventoryList
No wonder it didn't find the resource.
I edited the the connector's URL to:
/Company('{company}')/
Now I just need to pass the parameter and it works.