Schnittstellen in Business Central

6. Januar 2025 11:52

Moin zusammen,

ich wollte wissen, wie der aktuelle Stand der Schnittstellen in Business Central ist. So wie ich es lese, gibt es "SOAP web Services" (veraltet), "OData web Services" und "(REST) API web Services".

In der folgenden Quelle steht auch, dass sowohl "(REST) API web Services" als auch "OData web Services" auf OData Version 4 basieren:

https://learn.microsoft.com/en-us/dynam ... b-services

Es gibt bei SOAP und OData Request-Limits.

https://learn.microsoft.com/en-us/dynam ... taServices

Ein Limit, das "Max concurrent requests" von "5" (see the current per-user Limit), gilt dieses auch für "(REST) API web Services"? Oder verstehe ich da was falsch?

Re: Schnittstellen in Business Central

6. Januar 2025 12:13

Hallo,

ich denke da verstehst du nichts falsch.

Die Schnittstellen in SaaS ist nicht unbedingt dafür gedacht das System mit vielen und langen OData- Anfragen zu belästigen.

Gruß Fiddi

Re: Schnittstellen in Business Central

6. Januar 2025 14:12

wie ist es bei on premise?

Dieser Limit beschränkt sich auf zeitgleich offene Anfragen, also Anfragen die eine Request haben aber noch keine Response?

Re: Schnittstellen in Business Central

7. Januar 2025 09:24

Klaus90 hat geschrieben: […]gilt dieses auch für "(REST) API web Services"

REST über HTTP ist das Grundlagenprotokoll, darin wird dann z.B. mittels OData abgefragt, siehe auch Definition hier.
Hier ein Codebeispiel für einen HTTP-Request (hier GET) an einem anderen bekannten ERP-System :wink: , mit OData V2 und Response als JSON.
Code:
GET https://dev.hec.mysystem.com/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner
?sap-client=200
&$format=json
&$expand=to_BusinessPartnerAddress/to_AddressUsage,to_BusinessPartnerAddress/to_EmailAddress,to_BusinessPartnerAddress/to_PhoneNumber,to_BusinessPartnerAddress/to_FaxNumber,to_BusinessPartnerAddress/to_MobilePhoneNumber,to_BusinessPartnerAddress/to_URLAddress
&$select=BusinessPartner,BusinessPartnerCategory,Customer,Supplier,BusinessPartnerName,BusinessPartnerFullName,FirstName,MiddleName,LastName,Language,LastChangeDate
Authorization: Basic Myadmin:MyPassword

Ausführen kann man solche Requests z.B. über:
REST Client
Postman
SOAP ist veraltet und sollte nicht mehr in neuen Projekten verwendet werden.

Re: Schnittstellen in Business Central

15. Januar 2025 15:44

Was ist unter "OData web services" bezüglich auf Codeunits "Yes (through OData unbound actions)" gemeint? Was kann ich mir da vorstellen?

Re: Schnittstellen in Business Central

16. Januar 2025 13:41

Unbound actions sind nicht an Entitäten gekoppelt (also z.B. Feldwerte einer Tabelle) Creating and interacting with an OData V4 unbound action
Entität (Informatik)

Zu den Grundlagen im Umgang mit OData in BC ist hier ein Artikel: Exposing Dynamics 365 Business Central data to the outside world: my two cents

Re: Schnittstellen in Business Central

14. Februar 2025 17:43

Ah ok verstehe. Ich habe dazu mal eine andere Frage:

Habe eine Tabelle und eine Page mit 2 Felder erstellt No. und Picture. No. ist Code 20 und Picture ist von Type MediaSet. Habe die Page im Webdienst zur Verfügung gestellt. Wenn ich im Postman einen Post unter dieser url ausführe:
http://xxxxxxx.de:7068/TEST/ODataV4/Com ... xxxxxGmbH')/NewLine
mit dem Body:
Code:
   {
      "No": "1234",
   }


dann erstellt er den Datensatz. Ich möchte aber gerne mehrere Bilddateien in Picture reinschreiben lassen.

Normalerweise verwende ich dafür multipart/form-data. Egal was ich unter form-data eintrage es kommt diese Response zurück.

Code:
{
    "error": {
        "code": "",
        "message": "The request entity's media type 'multipart/form-data' is not supported for this resource."
    }
}


Kann ODataV4 "form-data" allgemein nicht? Wie bekomme ich per ODataV4 mehrere Bilder rein?