/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
SOAP server uden WSDL
Fra : Tom


Dato : 02-02-07 10:12

Hvordan laver man en SOAP server uden at anvende WSDL?

Fra manualen:
$server = new SoapServer("stockquote2.wsdl");


Jeg ønsker ikke at skrive og vedligeholde WSDL filer, så hvad gør man så?



 
 
Peter Brodersen (02-02-2007)
Kommentar
Fra : Peter Brodersen


Dato : 02-02-07 10:55

On Fri, 2 Feb 2007 10:12:18 +0100, "Tom" <no@spam.please> wrote:

>Hvordan laver man en SOAP server uden at anvende WSDL?
>
>Fra manualen:
>$server = new SoapServer("stockquote2.wsdl");
>
>
>Jeg ønsker ikke at skrive og vedligeholde WSDL filer, så hvad gør man så?

Et SOAP-request er som sådan (normalt) bare et HTTP POST-request, så
du kan blot have normal PHP-kode kørende, hvor du aflæser den rå
POST-data og så bruger en passende XML-funktion (fx
xml_parse_into_struct() ) for at få et overblik over det indsendte.

--
- Peter Brodersen
Kendt fra Internet

Tom (03-02-2007)
Kommentar
Fra : Tom


Dato : 03-02-07 14:24


"Peter Brodersen" <usenet2007@ter.dk> wrote in message
news:epv1tj$h7g$1@news.klen.dk...
> On Fri, 2 Feb 2007 10:12:18 +0100, "Tom" <no@spam.please> wrote:
>
>>Hvordan laver man en SOAP server uden at anvende WSDL?
>>
>>Fra manualen:
>>$server = new SoapServer("stockquote2.wsdl");
>>
>>
>>Jeg ønsker ikke at skrive og vedligeholde WSDL filer, så hvad gør man så?
>
> Et SOAP-request er som sådan (normalt) bare et HTTP POST-request, så

Hmm jeg fik ikke forklaret mig tydeligt nok.
Når man opretter en SOAP server i PHP peger *server* koden på en WSDL.
Hvordan undgår man at have noget som helst med WSDL at gøre når man bygger
en server?



Peter Brodersen (03-02-2007)
Kommentar
Fra : Peter Brodersen


Dato : 03-02-07 17:38

On Sat, 3 Feb 2007 14:23:31 +0100, "Tom" <no@spam.please> wrote:

>>>Hvordan laver man en SOAP server uden at anvende WSDL?
>>>
>>>Fra manualen:
>>>$server = new SoapServer("stockquote2.wsdl");
>>>
>>>
>>>Jeg ønsker ikke at skrive og vedligeholde WSDL filer, så hvad gør man så?
>>
>> Et SOAP-request er som sådan (normalt) bare et HTTP POST-request, så
>
>Hmm jeg fik ikke forklaret mig tydeligt nok.
>Når man opretter en SOAP server i PHP peger *server* koden på en WSDL.
>Hvordan undgår man at have noget som helst med WSDL at gøre når man bygger
>en server?

Jamenaltså, en SOAP-server er vel stadigvæk bare en almindelig
webserver, der tager imod SOAP-requests (som altså fx blot
POST-requests). PHP er i stand til at modtage POST-requests.

Så svaret er at bruge helt almindelig PHP til at *modtage* requests,
og så fortolke det SOAP-request, som PHP har modtaget fra klienten.

--
- Peter Brodersen
Kendt fra Internet

Tom (04-02-2007)
Kommentar
Fra : Tom


Dato : 04-02-07 17:19

> Så svaret er at bruge helt almindelig PHP til at *modtage* requests,
> og så fortolke det SOAP-request, som PHP har modtaget fra klienten.


Du foreslår at jeg bygger min egen SOAP implementation?

Er det ikke lidt overkill? Eller misforstår jeg dig?



Peter Brodersen (05-02-2007)
Kommentar
Fra : Peter Brodersen


Dato : 05-02-07 11:14

On Sun, 4 Feb 2007 17:19:22 +0100, "Tom" <no@spam.please> wrote:

>> Så svaret er at bruge helt almindelig PHP til at *modtage* requests,
>> og så fortolke det SOAP-request, som PHP har modtaget fra klienten.
>
>Du foreslår at jeg bygger min egen SOAP implementation?

Tjoeh - det var mere hvis du blot skulle banke en
quick'n'dirty'n'small SOAP-tjeneste op, hvor der ikke var udarbejdet
nogen WSDL, etc.

>Er det ikke lidt overkill? Eller misforstår jeg dig?

Næeh, det afhænger naturligvis af hvor meget, den skal kunne.

Men jeg kan se at Johan har et meget bedre svar, som man så lige så
godt kan benytte sig af for at gøre det ordentligt.

--
- Peter Brodersen
Kendt fra Internet

Johan Holst Nielsen (03-02-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 03-02-07 18:30

Tom wrote:
> Hmm jeg fik ikke forklaret mig tydeligt nok.
> Når man opretter en SOAP server i PHP peger *server* koden på en WSDL.
> Hvordan undgår man at have noget som helst med WSDL at gøre når man bygger
> en server?

Har du læst docs inde på php?

Der står ret tydeligt at man blot skal bruge null. :)

Citat: "If you want the WSDL mode, you must set this to the URI of a
WSDL file. In the other case, you must set this to NULL and set the uri
option."

http://dk2.php.net/manual/en/function.soap-soapserver-construct.php


Mvh
Johan

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste