Har skrivit en liten ws och den genererar en fin xml-kod. Om jag nu vill att andra ska kunna hämta upp informationen (de kanske har ASP.NET, PHP eller vanlig ASP) och de ska kunna publicera valfria delar, hur gör man då? Kan man dessutom lägga in utökad säkerhet, t.ex. att de skickar ett lösen för att få ut informationen? Hej, Tack för länken. Ser riktigt intressant ut :) Ok - nu är jag med på vad du menar!Hur gör man
<code>
<%@ WebService Language="C#" Class="test" %>
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://minsida.nu/webservices")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class test : System.Web.Services.WebService {
[WebMethod]
public DataSet GetInfo() {
SqlConnection conn = new SqlConnection("server='localhost';user id='sa';password='test'; Database='Test'");
SqlDataAdapter ad = new SqlDataAdapter("Select * From TryLog", conn);
DataSet Test = new DataSet();
conn.Open();
ad.Fill(Test);
conn.Close();
return Test;
}
}
</code>Sv: Hur gör man
Gällande säkerhetsbiten så finns det flera sätt att sköta inloggningar för Webservices. Du kan läsa ett antal artiklar om olika tekniker på:
http://www.swesecure.com/?ID=53e52dbd-c311-4c4f-8b8a-b4587318476e&CP=
Sen förstår jag nog inte riktigt din första fråga...hur menar du med att "de ska kunna publicera valfria delar"?
//FredrikSv:Hur gör man
Vad jag menar är att jag har skapat koden ovan för att hämta information från en databas. Avsikten är att andra system ska kunna hämta upp den information de vill, men som vi vill ge ut från vår databas. De som hämtar informationen ska kunna visa upp den i sina applikationer, kan handla om statistik t.ex. Hur gör de för att hämta informationen från min web service? Finns det färdiga funktioner för det eller? Har aldrig hållt på med web service innan, och jag har inte lyckats hitta denna informationen från nätet.Sv: Hur gör man
Tja - om de använder .NET och Visual Studio så väljer de helt enkelt "New Web referenece" och fyller där i sökvägen till er service. Det kommer då att skapas en sk "proxy"-klass i deras projekt som innehåller en klass med samma metoder (som har attributet webmethod) som du har i din klass.
Läs under Webservices på:
http://samples.gotdotnet.com/quickstart/aspplus/
Alltså kan de enkelt instansiera dessa precis som om de vore "lokala" klasser.
Om de använder VB6 så hittar du ett kodexempel på det (delar av det i alla fall):
http://www.swesecure.com/?ID=53e52dbd-c311-4c4f-8b8a-b4587318476e&IID=d8266ba9-3861-40b8-bb5a-7c8a5df7d4bb
Andra språk såsom php, java mfl har sina egna sätt att hantera webservices - men där kan säkert google hjälpa dig...