[gelöst] BC18.2 OnPremAPI - Aufruf

2. August 2021 18:13

Hallo zusammen,

ich bin gerade dabei, eine Custom-Api zu schreiben. Dabei brauche ich an einigen Stellen Bound-Actions - leider funktionieren diese bei mir aktuell nicht.
Als ich nun mal probiert habe, die Standard API mit einer Bound-Action zu benutzen, erhalte ich das gleiche Resultat wie mit meiner Custom-Api
hier mal der Standard-Aufruf (Post):

Code:
http://apiDev:7048/BC/api/v2.0/companies(c7186f24-95a2-eb11-90b2-874a05dba804)/salesInvoices(43afdd59-4e62-eb11-bb53-000d3a257fb5)/NAV.Post

führt zu:
Code:
{
    "error": {
        "code": "BadRequest_NotFound",
        "message": "No HTTP resource was found that matches the request URI 'http://apiDev:7048/BC/api/v2.0/companies(c7186f24-95a2-eb11-90b2-874a05dba804)/salesInvoices(43afdd59-4e62-eb11-bb53-000d3a257fb5)/NAV.Post'.  CorrelationId:  ebcc3d00-1e35-4afe-97e4-2650fc223f3b."
    }
}

Code:
http://apiDev:7048/BC/api/v2.0/companies(c7186f24-95a2-eb11-90b2-874a05dba804)/salesInvoices(43afdd59-4e62-eb11-bb53-000d3a257fb5)/Microsoft.NAV.Post

führt zu:
Code:
{
    "error": {
        "code": "BadRequest_NotFound",
        "message": "No HTTP resource was found that matches the request URI 'http://apiDev:7048/BC/api/v2.0/companies(c7186f24-95a2-eb11-90b2-874a05dba804)/salesInvoices(43afdd59-4e62-eb11-bb53-000d3a257fb5)/Microsoft.NAV.Post'.  CorrelationId:  c5eef76d-388e-44e2-9984-2e9a17efa1eb."
    }
}


Natürlich gibt es die Rechnung (und selbstverständlich auch den Mandanten) -> lasste ich das Microsoft.Nav.Post weg und mache ein Get, wird mir diese auch ordentlich angezeigt.

Ich mache bestimmt was ganz banales falsch, komme aber leider atm nicht drauf

die Methoden werden mir auch ordentlich in den Metadaten angezeigt
Code:
            <Action Name="cancelAndSend" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
            <Action Name="cancel" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
            <Action Name="makeCorrectiveCreditMemo" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
            <Action Name="postAndSend" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
            <Action Name="post" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
            <Action Name="send" IsBound="true">
                <Parameter Name="bindingParameter" Type="Microsoft.NAV.salesInvoice" />
            </Action>
Zuletzt geändert von sweikelt am 3. August 2021 09:08, insgesamt 2-mal geändert.

Re: BC18.2 OnPremAPI

2. August 2021 19:55

Du solltest die actions genau so verwenden, wie sie in den Metadaten angezeigt werden. Microsoft.NAV ist korrekt, aber Post sollte post lauten.

Re: BC18.2 OnPremAPI

3. August 2021 08:20

moin Carsten,

ich war der Meinung, dass ich verschiedene Schreibweisen (darunter auch "post") probiert hatte (aber anscheinend nicht)
-> es funktionuckelt^^ rechtherzlichen Dank