Skip to main content

Notifications

Announcements

No record found.

Business Central forum
Unanswered

Consume Web service on Susiness Central Saas

Posted on by 10
Dear experts,
 
I am trying to make web service on Business Central SAAS to read this request:
 <s:Body>
    <saveCustVend xmlns="http://tempuri.org">
      <_custVendDC xmlns:d4p1="http://schemas.datacontract.org/2004/07/Dynamics" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <d4p1:AccountNum>1</d4p1:AccountNum>
        <d4p1:Name>Test</d4p1:Name>
      </_custVendDC>
    </saveCustVend>
  </s:Body>
 
I made the following codeunit and exposed it as a webservice:
 
codeunit 50100 "CustVendWebService"
{
    [ServiceEnabled]
    procedure saveCustVend(var _custVendDC: Text[100240]): Text
    var
        CustVendRecord: Record "Customer";
        AccountNum: Text[20];
        Name: Text[100];
 
    begin
 
        AccountNum := GetValueFromXML(_custVendDC, '<d4p1:AccountNum>', '</d4p1:AccountNum>');
        Name := GetValueFromXML(_custVendDC, '<d4p1:Name>', '</d4p1:Name>');
 
        CustVendRecord.Init();
        CustVendRecord."No." := AccountNum;
        CustVendRecord."Name" := Name;
        CustVendRecord.Insert();
 
        MESSAGE('Customer record inserted: %1', AccountNum);
 
 
    end;
 
    local procedure GetValueFromXML(XMLText: Text; StartTag: Text; EndTag: Text): Text
    var
        StartPos: Integer;
        EndPos: Integer;
        Value: Text;
        FullStartTag: Text;
    begin
        FullStartTag := StartTag;
        StartPos := StrPos(XMLText, FullStartTag);
        EndPos := StrPos(XMLText, EndTag);
        if (StartPos > 0) and (EndPos > StartPos) then
            Value := CopyStr(XMLText, StartPos + StrLen(FullStartTag), EndPos - StartPos - StrLen(FullStartTag));
        exit(Value);
    end;
}
 
I ested this in the postman and got this response:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <s:Fault>
            <faultcode xmlns:a="urn:microsoft-dynamics-schemas/error">a:Microsoft.Dynamics.Nav.Service.SOAP.ServiceBrokerException</faultcode>
            <faultstring xml:lang="en-US">Parameter _custVendDC in method saveCustVend in service CustVendWebService is null! </faultstring>
            <detail>
                <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">Parameter _custVendDC in method saveCustVend in service CustVendWebService is null! </string>
            </detail>
        </s:Fault>
    </s:Body>
</s:Envelope>
 
What am I doing wrong?
Categories:
  • Suggested answer
    YUN ZHU Profile Picture
    YUN ZHU 68,480 Super User 2024 Season 2 on at
    Consume Web service on Susiness Central Saas

Helpful resources

Quick Links

Dynamics 365 Community Update – Sep 9th

Welcome to the next edition of the Community Platform Update. This is a weekly…

Announcing Our 2024 Season 2 Super Users!

A new season of Super Users has arrived, and we are so grateful for the daily…

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 290,263 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 228,112 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,148

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans