mboost-dp1

C# SOAP-besked udveksling


Gå til bund
Gravatar #1 - Borg[One]
18. apr. 2008 07:41
Hejsa.

Helt basal og primitiv udveksling mellem en service og en klient af SOAP-beskeder - nogen der har nogle eksempler på dette.

Det interessante for mig, er ikke at modtage en enkelt string, men at modtage 3-4 parameter i en SOAP-besked.

Og så er det både parsing af SOAP og selve udvekslingen jeg er interesseret i.

Jeg ved ikke om det er for omfattende herinde, er det det, ville et link eller to gøre underværker... :)

Niveauet er "For Dummies", tak. ;)

På forhånd tak...
Gravatar #2 - arne_v
18. apr. 2008 12:13
Du kommer nemt i gang hvis du noterer dig følgende regel: wen web service client og en web service server snakker sammen via SOAP over HTTP, men du skal ikke skrive noget kode på hverken client eller server side som beskæftiger sig med SOAP XML eller HTTP. Det har du folk til (Microsoft).

Hvis vi nu antager at du laver en .asmx web service (og ikke WCF, så skal du have:

Foobar.asmx :

<%@ WebService Language="C#" Class="Test.Foobar" %>

Foobar.cs (enten i App_Code eller compilet i bin) med:

using System;
using System.Web.Services;

namespace Test
{
public class Foobar : WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello world";
}
}
}

Det var server side. ASP.NET ordner resten.

Client side vil du med:

(med Visual Studio)

Tilføje en reference til http://localhost/Foobar.asmx?WSDL og
så using namespace, instantiere et objekt og kalde metoden.

(command line)

Udføre kommando:

wsdl http://localhost/Foobar.asmx?WSDL

og så using namespace, instantiere et objekt og kalde metoden.

Kode snippet:

Foobar serv = new Foobar();
string s = serv.HelloWord();

Det var client side. .NET ordner resten.

Og bemærk - ikke skyggen af WSDL XML, SOAP XML, HTTP eller andre tekniske detaljer.
Gravatar #3 - arne_v
18. apr. 2008 12:15
Bemærk at skal du være web service haj så skal du igang med at forstå WSDL, SOAP inklusive alle de forbandede styles o.s.v., men start med bare at bruge det.
Gravatar #4 - Borg[One]
18. apr. 2008 12:35
#2 Thank you - som altid med et godt og enkelt eksempel, præcis som jeg har brug for.

Hvis jeg nu har brug for at udveklse hele objekter (uden private-stuff), stringyficere jeg så objektet, eller kan jeg nemt udveklse serialiseret objekter?
Gravatar #5 - arne_v
18. apr. 2008 12:46
#4

Hvis du laver en klasse MasserAfInfo med private fields og public properties (som man nu skal), saa kan du bruge den som argument og retur værdi til din web service metode uden at gøre noget som helst specielt. .NET pakker ned og ud af SOAP XML for dig.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login