Reference Source Link: https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/data-entities/services-home-page
Consuming external web services
In
previous versions, you could consume web services from X++ code by
adding Microsoft Visual Studio projects as a reference and by
using Aif::CreateServiceClient.
This scenario is supported, but the steps have changed. Application
Integration Framework (AIF) is no longer supported. The following
steps show how to consume an external StockQuote service from X++.
- Create a new Class Library project in Visual Studio, and name it ExternalServiceLibrary.csproj.
- In the Visual Studio project, add a service reference to the external web service: http://www.webservicex.net/stockquote.asmx
- Create a new static class, and wrap the StockQuote service operation as shown in the following example.
public static string GetQuote(string s)
{
var binding = new System.ServiceModel.BasicHttpBinding();
var endpointAddress = new EndpointAddress("http://www.webservicex.net/stockquote.asmx");
ServiceLibrary.QuoteReference.StockQuoteSoapClient client = new ServiceLibrary.QuoteReference.StockQuoteSoapClient(binding, endpointAddress);
//GetQuote is the operation on the StockQuote service
return client.GetQuote("MSFT");
}
- Build the project. The binary ExternalServiceLibrary.dll is created.
- Create a new Dynamics project in Visual Studio.
- Add ExternalServiceLibrary.dll as a reference.
- In the X++ class, you can use the external web services that were referenced in ExternalesrviceLibrary.dll.
public static void main(Args _args)
{
info(ServiceLibrary.StockQuoteClass::GetQuote("MSFT"));
}
No comments:
Post a Comment