Problemi noti e limitazioni dell'importazione dell'APIAPI import restrictions and known issues

Informazioni sull'elencoAbout this list

Quando si importa un'API è possibile riscontrare delle restrizioni o identificare dei problemi che è necessario correggere per completare l'importazione.When importing an API, you might come across some restrictions or identify issues that need to be rectified before you can successfully import. L'articolo illustra questi aspetti, organizzati in base al formato di importazione dell'API.This article documents these, organized by the import format of the API.

OpenAPI/Swagger OpenAPI/Swagger

Se vengono restituiti errori durante l'importazione del documento OpenAPI, verificare che sia stato prima convalidato.If you're receiving errors importing your OpenAPI document, make sure you've validated it beforehand. A tale scopo, usare la finestra di progettazione nel portale di Azure (Progettazione - Front End - Editor della specifica OpenAPI) o usare uno strumento di terze parti come Swagger Editor.You can do that either using the designer in the Azure portal (Design - Front End - OpenAPI Specification Editor), or with a third-party tool such as Swagger Editor.

Generale General

  • I parametri obbligatori per percorso e query devono avere nomi univoci.Required parameters across both path and query must have unique names. In OpenAPI un nome di parametro deve essere univoco solo all'interno di una determinata posizione, ad esempio percorso, query, intestazione.(In OpenAPI a parameter name only needs to be unique within a location, for example path, query, header. In Gestione API, invece, le operazioni possono essere discriminate in base a parametri sia di percorso che di query, cosa che non è possibile in OpenAPI.However, in API Management we allow operations to be discriminated by both path and query parameters (which OpenAPI doesn't support). Per questo motivo è necessario che i nomi dei parametri siano univoci all'interno dell'intero modello di URL.That's why we require parameter names to be unique within the entire URL template.)
  • i puntatori $ref non possono fare riferimento a file esterni.$ref pointers can't reference external files.
  • x-ms-paths e x-servers sono le uniche estensioni supportate.x-ms-paths and x-servers are the only supported extensions.
  • Le estensioni personalizzate vengono ignorate in fase di importazione e non vengono salvate o mantenute per l'esportazione.Custom extensions are ignored on import and aren't saved or preserved for export.
  • Ricorsione: Gestione API non supporta le definizioni con carattere ricorsivo, ad esempio gli schemi che fanno riferimento a se stessi.Recursion - API Management doesn't support definitions defined recursively (for example, schemas referring to themselves).
  • L'URL del file di origine, se disponibile, viene applicato agli URL di server relativi.Source file URL (if available) is applied to relative server URLs.
  • Le definizioni di sicurezza vengono ignorate.Security definitions are ignored.
  • Le definizioni dello schema inline per le operazioni API non sono supportate.Inline schema definitions for API operations are not supported. Le definizioni dello schema sono definite nell'ambito dell'API ed è possibile farvi riferimento negli ambiti di richiesta o di risposta delle operazioni dell'API.Schema definitions are defined in the API scope and can be referenced in API operations request or response scopes.

OpenAPI versione 2 OpenAPI version 2

  • È supportato solo il formato JSON.Only JSON format is supported.

OpenAPI versione 3 OpenAPI version 3

  • Se sono specificati molti server, Gestione API proverà a selezionare il primo URL HTTPs.If many servers are specified, API Management will try to select the first HTTPs URL. Se non vi sono URL HTTPs, selezionerà il primo URL HTTP.If there aren't any HTTPs URLs - the first HTTP URL. Se non vi sono nemmeno URL HTTP, l'URL del server sarà vuoto.If there aren't any HTTP URLs - the server URL will be empty.
  • Examples non è supportato, mentre example lo è.Examples isn't supported, but example is.
  • Multipart/form-data non è supportato.Multipart/form-data isn't supported.

WSDL WSDL

I file WSDL vengono usati per creare API pass-through e SOAP-to-REST SOAP.WSDL files are used to create SOAP pass-through and SOAP-to-REST APIs.

  • Associazioni SOAP: solo le associazioni SOAP con stile di codifica "document" e "literal" sono supportate.SOAP bindings -Only SOAP bindings of style ”document” and “literal” encoding are supported. Non è disponibile il supporto per lo stile di codifica SOAP "rpc".There is no support for “rpc” style or SOAP-Encoding.
  • WSDL:Import: questo attributo non è supportato.WSDL:Import - This attribute isn't supported. I clienti devono unire le importazioni in un solo documento.Customers should merge the imports into one document.
  • Messaggi con più parti: questo tipo di messaggi non è supportato.Messages with multiple parts - These types of messages aren't supported.
  • wsHttpBinding di WCF: i servizi SOAP creati con Windows Communication Foundation devono usare basicHttpBinding poiché wsHttpBinding non è supportato.WCF wsHttpBinding - SOAP services created with Windows Communication Foundation should use basicHttpBinding - wsHttpBinding isn't supported.
  • MTOM: i servizi che usano MTOM potrebbero funzionare.MTOM - Services using MTOM may work. Al momento il supporto ufficiale non è previsto.Official support isn't offered at this time.
  • Ricorsione: i tipi definiti in modo ricorsivo, che, ad esempio, fanno riferimento a una matrice di se stessi, non sono supportati da APIM.Recursion - Types that are defined recursively (for example, refer to an array of themselves) are not supported by APIM.
  • Più spazi dei nomi: possono essere usati più spazi dei nomi in uno schema, ma solo lo spazio dei nomi di destinazione può essere usato per definire le parti del messaggio.Multiple Namespaces - Multiple namespaces can be used in a schema, but only the target namespace can be used to define message parts. Gli spazi dei nomi diversi dalla destinazione, che vengono usati per definire altri elementi di input o output non vengono mantenuti.Namespaces other than the target which are used to define other input or output elements are not preserved. Sebbene un documento WSDL di questo tipo possa essere importato, in caso di esportazione tutte le parti del messaggio avranno lo spazio dei nomi di destinazione del documento WSDL.Although such a WSDL document can be imported, on export all message parts will have the target namespace of the WSDL.
  • Matrici : la trasformazione da SOAP a REST supporta solo matrici di cui è stato eseguito il wrapper mostrate nell'esempio seguente:Arrays - SOAP-to-REST transformation supports only wrapped arrays shown in the example below:
    <complexType name="arrayTypeName">
        <sequence>
            <element name="arrayElementValue" type="arrayElementType" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType>
    <complexType name="typeName">
        <sequence>
            <element name="element1" type="someTypeName" minOccurs="1" maxOccurs="1"/>
            <element name="element2" type="someOtherTypeName" minOccurs="0" maxOccurs="1" nillable="true"/>
            <element name="arrayElement" type="arrayTypeName" minOccurs="1" maxOccurs="1"/>
        </sequence>
    </complexType>

WADL WADL

Attualmente non sono noti problemi di importazione del formato WADL.Currently, there are no known WADL import issues.