/ 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 - Objects :-s
Fra : Morten P


Dato : 12-01-10 23:48

Jeg skal tilgå en SOAP server, der kræver at jeg først kalder new() i den,
med en række parametre, som den gemmer i instans variablen, og derefter
metoderne.

Serveren er skrevet i Perl og anvender ikke WSDL.


Jeg har forsøgt med (pseudo kode):

$client = new SOAP client;
$new = $client->new($parms);
$res = $client->method($new, $parms);


Er det ikke det der koncetuelt set skal gøres?

Jeg fandt det på google for et år siden, men har selvf ikke gemt siden og nu
er det umuligt at finde eksempler på anvendelsen af SOAP som OOP.

Nogen bud på løsninger eller links til sider der beskriver
problemstillingen?



 
 
Jonathan Stein (13-01-2010)
Kommentar
Fra : Jonathan Stein


Dato : 13-01-10 13:37

Morten P skrev:

> Jeg fandt det på google for et år siden, men har selvf ikke gemt siden og nu
> er det umuligt at finde eksempler på anvendelsen af SOAP som OOP.

SOAP er ikke den bedst dokumenterede del af PHP, men prøv at kigge på
eksemplerne på http://www.php.net/manual/en/soapclient.soapclient.php
hvis du ikke allerede har været der...

M.v.h.

Jonathan

--
Er din email vigtig? Er du træt af, at din hjemmeside er nede?
Stabilt webhotel på redundant setup med daglig backup.
POP3, IMAP, PHP, JSP, Java, Perl, Python, Telnet, SSH, Cron-jobs m.v.
http://www.jsp-hotel.dk/

Michael Rasmussen (13-01-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 13-01-10 17:50

On Tue, 12 Jan 2010 23:47:42 +0100
"Morten P" <spam@spam.spam> wrote:

>
> Nogen bud på løsninger eller links til sider der beskriver
> problemstillingen?
>
Du kan jo se, om du kan bruge mine undervisningsplancher til noget
brugbart

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Michael Rasmussen (13-01-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 13-01-10 17:52

On Wed, 13 Jan 2010 17:50:29 +0100
Michael Rasmussen <mir@miras.org> wrote:

> Du kan jo se, om du kan bruge mine undervisningsplancher til noget
> brugbart
>
Glemte lige linket
http://www.datanom.net/foredrag/php/soap/

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Michael Rasmussen (13-01-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 13-01-10 23:29

On Wed, 13 Jan 2010 23:07:05 +0100
"Morten P" <spam@spam.spam> wrote:

>
>
> Er der noget omkring NS jeg har misset totalt?
>
Har du en URL til serveren, eller mulighed for at vise kildekoden til
serveren?

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Martin (14-01-2010)
Kommentar
Fra : Martin


Dato : 14-01-10 19:30

On 12-01-2010 23:47, Morten P wrote:
> Jeg skal tilgå en SOAP server, der kræver at jeg først kalder new() i den,
> med en række parametre, som den gemmer i instans variablen, og derefter
> metoderne.
>
> Serveren er skrevet i Perl og anvender ikke WSDL.
>
>
> Jeg har forsøgt med (pseudo kode):
>
> $client = new SOAP client;
> $new = $client->new($parms);
> $res = $client->method($new, $parms);

Selvom en SOAP server har WDSL, så kan forbindelserne stadig se vidt
forskellige ud...

Jeg har et par eksempler med

$this->proxy = new SoapClient($url);
$this->session = $this->proxy->login($user,$pass);
$this->proxy->call($this->session, $params);


$this->proxy = new SoapClient($url, $params);
$this->proxy->Connect($params);
$this->proxy->Product_GetAll()->Product_GetAllResult->ProductHandle;


Den øverste er skrevet med Zend_Soap_Server, den nederste ved jeg så dog
ikke


>
>
> Er det ikke det der koncetuelt set skal gøres?
>
> Jeg fandt det på google for et år siden, men har selvf ikke gemt siden og nu
> er det umuligt at finde eksempler på anvendelsen af SOAP som OOP.
>
> Nogen bud på løsninger eller links til sider der beskriver
> problemstillingen?
>
>


Michael Rasmussen (17-01-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 17-01-10 17:27

On Sun, 17 Jan 2010 16:54:22 +0100
"Morten P" <spam@spam.spam> wrote:

>
> Når jeg ændrer NS i server og klient til 'Server' og altså uden '::'erne så
> virker det perfekt i både Perl og PHP :-/
>
Ahh ja, selvfølgelig.
urn:COM::GSM::Soap::Server er ikke et lovligt namespace navn. "A
namespace is declared using the reserved XML attribute xmlns, the value
of which must be an Internationalized Resource Identifier (IRI)". I
SOAP sammenhæng er en IRI identisk med en Uniform Resource Identifier
(URI). http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Michael Rasmussen (17-01-2010)
Kommentar
Fra : Michael Rasmussen


Dato : 17-01-10 21:23

On Sun, 17 Jan 2010 19:05:30 +0100
"Morten P" <spam@spam.spam> wrote:

>
> 'COM::GSM::Soap::Server' som angiver den sti den ligger installeret under.
> Jeg ville egentligt helst bevare denne syntaks.
>
Du skal lave en associering mellem pakkenavnet og et namespace, så du
får interoperabilitet. Syntaksen bar::foo::some_server forstås kun af
Perl.

> Perl-SOAP til Perl-server er åbenbart ret løs i det, så der kan jeg angive
> både :: og / i NS.
>
Den opfører sig helt normalt. Hvad du ser, er det samme som .NET
remoting eller Java RMI. Modtager den ene side en binær blob, kan den
håndtere den, da det internt er samme sprog - dvs. der behøves ingen
oversættelse fra SOAP til Perl, da meddelelsen allerede er i Perl. PHP
forstår selvfølgeligt ikke Perl

> Umiddelbart, hvis jeg ønsker kompatibilitet mellem både php og perl, tvinges
> jeg altså til at vælge et pakkenavn uden :: i.
>
> Jeg er desværre ikke specielt dygtig på URI/XML/SOAP osv, men er ovenstående
> korrekt opfattet?
>
> Eller har du/andre et forslag på hvad jeg kan gøre for at få sendt de samme
> requests som perl klienten åbenbart er i stand til?
>
SOAP::Lite har metoderne ns og default_ns, der må kunne anvendes til at
lave en associering mellem et namespace og en pakke.

xmlns="urn:COM.GSM.Soap.server"

for metoden test vil et kald til test blive opfattet på denne måde:
{urn:COM.GSM.Soap.server}test

--
Hilsen/Regards
Michael Rasmussen
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.


Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste