Azure / LogicAppsUX

https://learn.microsoft.com/azure/logic-apps
MIT License
74 stars 80 forks source link

EDIFACT / X12 Connectors in Standard are broken #2553

Closed martinabbott closed 1 year ago

martinabbott commented 1 year ago

Describe the Bug

When trying to add EDIFACT or X12 connectors to a workflow in Standard, the experience doesn't match the documentation, and it asks for information that does not appear in the Integration Account configuration or properties.

The experience should follow the same experience as the AS2 (v2) connector which uses an app config setting pointing to the Integration Account Callback URL, or should work as described in the documentation.

Plan Type

Standard

Steps to Reproduce the Bug or Issue

  1. Add WORKFLOW_INTEGRATION_ACCOUNT_CALLBACK_URL app config setting
  2. Create a new Standard stateless workflow
  3. Add HTTP trigger
  4. Add AS2 Decode action from AS2 (v2) connector and set content to inbound HTTP body
  5. Add EDIFACT Decode action from EDIFACT connector
  6. You get the dialog to connect to the Integration Account as shown in the image, rather than the experience described in the documentation (https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-edifact?tabs=standard)
  7. The experience is the same as clicking the "Manually enter connector information", which requires the Integration Account ID (which you can get from the Azure CLI) and the Integration Account SAS URL which does not appear in the Integration Account configuration.
  8. I have therefore not been able to proceed beyond this point to set up an EDI pipeline.

NOTE: I have tried using the Callback URL and the action throws an error saying Not found when a run is initiated. If the sig component of the Callback URL is removed, the action throughs a not authorised error when a run is initiated.

Workflow JSON

No response

Screenshots or Videos

EDIFACT-Decode

Additional context

No response

AB#24086869

praveensri commented 1 year ago

@martinabbott, The experience of adding Integration account connection in X12 or EDIFACT are different in new designer but this should work as long as you are putting the proper Integration account callbackURI and Integration account Id (part of callback URL /integrationAccounts/?api-version=2015-08-01-preview). I am assuming the Integration account is not under a private endpoint. Let me know the details of the error (as you can see in network traces) if the issue still exists.

martinabbott commented 1 year ago

Hi Praveen,

Thanks for the update, I've taken the Integration Account ID from the Callback URL, assuming it's the string between integrationAccounts and the api-version, and used the whole Callback URL for the Integration Account SAS URL, and for that I get a Not found error in my workflow on the EDIFACT action.

I really need to get this working, the documentation still shows the older experience and I don't appear to be the only person with the issue given a quick search.

Can you be very specific what I need to set both Integration Account ID and Integration SAS URL to so I can try it.

Right now I'm blocked, and have a deadline approaching.

My integration account is called Shared-IntAccount if you're able to look that up.

The Integration Account is not under a private endpoint because the AS2 (v2) Decode action in the same workflow, which uses the config setting works fine.

Thanks.

praveensri commented 1 year ago

@martinabbott , it would be helpful if you could share the error response from network traces while creating connection. Please note that the EDIFACT actions (as it is connector as compare to AS2 V2) relies on Integration account connection instead of configuration settings.

martinabbott commented 1 year ago

@praveensri thanks for the quick response.

The issue is not from creating the connection, you can literally put any values in the dialog and it will create the connection.

The issue is using an action, in my case the EDIFACT Decode action, after creating the connection.

I have set the Account ID to the value I get from CLI, and the SAS URL to the Callback URL, and when I try to process a message I get an error saying Not found.

Account ID: /subscriptions/[removed]/resourceGroups/Integrate2023-Shared/providers/Microsoft.Logic/integrationAccounts/Shared-IntAcct

SAS URL (Callback from Integration Account): https://prod-25.australiaeast.logic.azure.com:443/integrationAccounts/[removed]?api-version=2015-08-01-preview&sp=%2F%2F%2A&sv=1.0&sig=[removed]

image
praveensri commented 1 year ago

@martinabbott , Can you see if the Integration account exists in the same subscription? Please refer doc: https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-x12#:~:text=An%20integration%20account%20that%27s%20linked%20to%20your%20logic%20app%20resource.%20Both%20your%20logic%20app%20and%20integration%20account%20have%20to%20use%20the%20same%20Azure%20subscription%20and%20exist%20in%20the%20same%20Azure%20region%20or%20location.

martinabbott commented 1 year ago

Hi @praveensri, yes they are in the same region and subscription.

I have gotten a bit further, I think I had a stale connection in my system, so I cleared everything and now it seems to be connected to the integration account as I'm getting Agreement resolution issues, which is fine.

I'll close this for now, although I do need to raise another issue because of some issues with the Connections dialog.

I'll submit a PR for the documentation issues.

praveensri commented 1 year ago

@martinabbott , Great to hear that the scenario worked for you!