As you already knows, Microsoft has rolled up in these days the Cumulative Update 4 for Dynamics 365 Business Central.

Unfortunately, there’s an (actually) undocumented breaking change that has affected lots of customers: if you have previously published some codeunits as SOAP web services, after this update if you try to reference your previously published web services you can’t see any methods!

Why this?

Because Microsoft has decided that (for security reasons) from now if you publish a SOAP web service from Dynamics 365 Business Central, you can see only methods declared as External.

If you’re using C/AL (or you’ve previously created a codeunit by using C/AL), you can see that the default visibility of a public function (FunctionVisibility property) is set to Internal:

D365BCCU04_SoapWS_01.jpg

In this way, you will not see your functions in a SOAP web service anymore!

To fix that, you need to explicitly set with FunctionVisibility = External all the methods that must be exposed as web services:

D365BCCU04_SoapWS_02.jpg

Remember that this affects also the Microsoft’s base application: if you’ve published a Microsoft object as web service, when adding the WS reference you will see only the methods declared as External.

This  behaviour does not affects pure AL codeunits, where procedures not declared as local are External as default.

Start fixing your C/AL code…