3.1 Produktliste
For at tilgå HostedShop API fra et .NET miljø kan man med fordel tage vores .NET proxy i brug. Den kan hentes fra https://api.hostedshop.dk/HostedShop.dll. Proxyen gør brug af System.Web.Services.
Føglende eksempel udskriver en liste af produkter og deres varianter for en løsning i .Net konsollen.
using HostedShop;
class Program
{
static void Main(string[] args)
{
/* Skab et nyt proxy-objekt */
WebService Client = new WebService();
/* Skab en cookieContainer til proxy-objektet. Dette er nødvendigt da Webservice er session-baseret */
Client.CookieContainer = new System.Net.CookieContainer();
/* Opret forbindelse til en løsning */
Client.Solution_Connect("brugernavn", "password");
/* Sæt sprog for løsningen */
Client.Solution_SetLanguage("DK");
/* Sæt ønskede felter for Produkt-objektet */
Client.Product_SetFields("Id,Title,Variants");
/* Sæt ønskede felter for Produktvariant-objektet */
Client.Product_SetVariantFields("Id");
/* Hent Alle Produkter */
Product[] result = Client.Product_GetAll();
/* Loop over Produkter */
foreach (Product product in result)
{
/* Udskriv produktets Title */
Console.WriteLine("Produkt: " + product.Title);
if (product.Variants.Length > 0)
{
Console.Write("Varianter:");
/* Loop over produktets varianter */
foreach (ProductVariant variant in product.Variants)
{
/* Hent variantens TypeValues */
ProductVariantTypeValue[] variantTypeValues = Client.Product_GetVariantTypeValues(variant.Id);
/* Loop over variantens TypeValues og udskriv deres Title */
foreach (var variantTypeValue in Client.Product_GetVariantTypeValues(variant.Id))
{
Console.Write(" " + variantTypeValue.Title);
}
Console.WriteLine("");
}
}
}
}
}
Som det ses ovenfor står proxy selv for wrapping af input- og outputargumenter.
Proxy er genereret ud fra https://api.hostedshop.dk/service.wsdl via WSDL-proxy generator. Ønskes en anden proxy findes flere andre værktøjer som alle accepterer SOAP document/literal wrapped WSDL.
Se venligst afsnit 2 eller https://api.hostedshop.dk/doc/ for en detaljeret dokumentation af de forskellige tilgængelige metodekald, idet de er det samme for PHP og .NET.