php curl soap post.

Tags:    php curl post

Hejsa, jeg skal poste ordredata til en leverandør... de benytter SOAP og har ingen dokumentation på det udover den rene XML...

jeg laver nedenstående post så får jeg denne error fra serveren.. :-(

"Server was unable to process request. ---> Object reference not set to an instance of an object."

er det ikke muligt at benytte nedenstående metode til SOAP ?



Fold kodeboks ind/udPHP kode 




5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Hvis det er en 100% SOAP løsning de benytter, så vil jeg anbefale at du kigger på http://php.net/manual/en/book.soap.php

Ellers bliver SOAP simpelthen for kompliceret at generere xml på manuelt.



Indlæg senest redigeret d. 23.03.2012 22:10 af Bruger #10216
ved ikke om de køre 100% SOAP..

jeg kender desværre ikke ret meget til SOAP :-(

SimpleXML er bare så meget nemmere når det er simple opgaver...



Det er det da... men vil du kalde det simpelt at kunne SOAP protokollen?
Jeg vil kalde det avanceret - PHPs eget SOAP api er mere simpelt.

Det kan sagtens være at du bruger SimpleXML, fordi det er XML. Men SOAP protokollen er en række instrukser, hvor XML sproget bruges til at skrive disse instrukser. Det er fint hvis du kan skrive de instrukser selv, men der er jo ingen grund til at gøre det mere kompliceret end nødvendigt.

...og du kan jo benytte http://www.php.net/manual/en/soapclient.getfunctions.php til at få de funktioner som serveren understøtter.



jae.. jeg må jo bøje mig og sætte mig ind i hvordan SOAP fungere...

det er bare nitte... de er den eneste leverandør jeg er stødt på ud af 15 stks som benytter SOAP... det giver bare en masse ekstra arbejde i forhold til dem som bare modtager plain XML post. (fordi jeg ikke kender til SOAP)

jeg kan stadig ikke se hvorfor de benytter SOAP.. det virker ret overkill..



Det er i mange situationer et overkill.

SOAP er til når man har behov for at validere sine requests. Når du sender et SOAP request, vil/skal SOAP clienten foretage efterfølgende kontrolchecks indtil at serveren melder tilbage. Så i princippet kan du kun foretage synkrone kald via SOAP og aldrig lave to ting på en gang. Det har f.eks. noget at sige i bankverdenen, hvor det er dumt at sende en bankoverførsel mere end een gang.

REST har en helt anden tilgang, hvor det REST er stateless transfers. Dvs. server aner intet om clients "state", ligeledes den anden vej.

Men der findes så meget info på dette allerede: https://www.google.dk/search?sourceid=chrome&ie=UTF-8&q=soap+vs.+rest

:)



t