Re: How to work with Webservices (.asmx) server

From: Date: Wed, 11 Mar 2009 10:02:51 +0000
Subject: Re: How to work with Webservices (.asmx) server
References: 1 2 3 4 5  Groups: php.general 
Request: Send a blank email to php-general+get-289826@lists.php.net to get a copy of this message
Anton Heuschen wrote: > Thanks Thijs. > > My Father is from the Netherlands, but I wont try it all in Dutch myself... > > Ok slowly but surely and with your advice I start making sense of this, I am > still playing around with some tests and reading up. It should be real clear > and obvious once you get a working example I guess. > > Thanks for your assistance and advice so far. If you have more questions. The whole list is at your disposal. > > Regards > > > Now of to make myself a nice Hagelslag botterham to soothe my nerves ;-) Now that sounds tasty. Always thought we Dutch are the only ones crazy enough to eat this stuff :) > > Anton > > 2009/3/11 Thijs Lensselink <php@addmissions.nl> > >> Hoi Anton, >> >> Great job on the Dutch part :) But please keep the thread on list. >> >> You have set the server location when you create a SOAP client instance. >> Take a look at : >> http://php.net/manual/en/soapclient.soapclient.php >> >> So when instantiating the SOAP client object you pass as a second >> parameter. An array with as minimal settings the location and uri. >> >> I guess in your case it would be something like this: >> >> $client = new SoapClient(null, array( >> 'location' => >> "http://localhost/WebService/GetData.asmx", >> 'uri' => >> "http://localhost/WebService/") >> ); >> >> And if your webservice provides a WSDL file you can replace the null >> parameter for that one. >> >> Anton Heuschen wrote: >>> Dag. >>> >>> Dank U well. >>> >>> Lol and thats where my Dutch is going to end... >>> >>> >>> Thank you for the info, just one question that had me confused also and >>> that is to do with this >>> >>> the URL you actually are talking to with your SOAP client is >>> http://localhost/WebService/ >>> >>> >>> >>> Ive seen that in material on the net too ... but I wondered so how does >>> your SOAP request know where to connect to ? should I not have the >>> target server URL (or is this also pointing to the Web Services Servers >>> WSDL not setup correctly and will my client only work if I run it from >>> the same PC? ) This is what confuses me so . >>> >>> >>> Regards >>> >>> 2009/3/10 Thijs Lensselink <php@addmissions.nl <mailto: >> php@addmissions.nl>> >>> Anton Heuschen wrote: >>> > I am confused with XML-RPC / SOAP and WSDL ... >>> > >>> > If you have a server with a script/file like test.asmx and some web >>> > services ...below example of service format : >>> > >>> > SOAP 1.2 >>> > >>> > The following is a sample SOAP 1.2 request and response. The >>> > placeholders shown need to be replaced with actual values. >>> > >>> > ------------------------------------- SAMPLE OF Web Service from >> the >>> > server below : >>> > >>> > SOAP 1.2 >>> > >>> > The following is a sample SOAP 1.2 request and response. The >>> > placeholders shown need to be replaced with actual values. >>> > >>> > >>> > >>> > >>> > POST /webservice/GetData.asmx HTTP/1.1 >>> > Host: www.theserver.com >>> > <http://www.theserver.com> >>> > Content-Type: application/soap+xml; charset=utf-8 >>> > Content-Length: length >>> > >>> > <?xml version="1.0" encoding="utf-8"?> >>> > <soap12:Envelope xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" >>> > >>> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> > >>> > xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> >>> > <soap12:Body> >>> > <GetData >>> > xmlns="http://localhost/WebService/"> >>> > <Input>string</Input> >>> > </GetData> >>> > </soap12:Body> >>> > </soap12:Envelope> >>> > >>> > >>> > >>> > HTTP/1.1 200 OK >>> > Content-Type: application/soap+xml; charset=utf-8 >>> > Content-Length: length >>> > >>> > <?xml version="1.0" encoding="utf-8"?> >>> > <soap12:Envelope xmlns:xsi=" >> http://www.w3.org/2001/XMLSchema-instance" >>> > >>> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> > >>> > xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> >>> > <soap12:Body> >>> > <GetDataResponse >>> > xmlns="http://localhost/WebService/"> >>> > <Output>string</Output> >>> > </GetDataResponse> >>> > </soap12:Body> >>> > </soap12:Envelope> >>> > >>> > >>> > >>> > ------------------------------------ END OF SAMPLE >>> > >>> > >>> > >>> > >>> > I spend about most of my time looking at SOAP, XML-RPC and the PHP >>> > SOAP extension, like from here: >>> > >>> > >>> >> >> http://tutorial.jcwcn.com/Web-Design/PHP/XML-and-PHP/2008-08-15/10160.html >>> > >>> > >>> > Most of these talk about request to the server and a script with >> .wsdl >>> > extension ... but from the example SOAP 1.2 "framework" above >>> > and the fact that the url to the web service is not a .wsdl file >> but >>> > in fact a .asmx file, how on earth to you >>> >>> It doesn't have to be a .wsdl extension to offer that functionality. >> The >>> WSDL output is nothing more then what the webservice has to offer. >>> Requests are not send to the .wsdl but to the webservice endpoint. >>> >>> > >>> > 1) post a request to the example above. >>> > 2) What do you use here now actually ? SOAP/XML-RPC/WSDL ? or is >> this >>> > something else ? Its extremely confusing since this does >>> > not seem to fit in with any of the examples, material on the net. >>> > >>> >>> The examples above show requests en responses in the SOAP format. You >>> could target this webservice in multiple ways. But building a SOAP >>> client would probably be the best option. >>> >>> > I basically need to call the service and pass "string" to the Input >>> > parameter and get the response field. >>> > >>> > >>> > Some examples using the PHP Soap class talk about setting the URI, >> the >>> > host and the NS and I don't know from the example SOAP 1.2 fields >>> > provided where this should be taken from. >>> > >>> >>> the URL you actually are talking to with your SOAP client is >>> http://localhost/WebService/ >>> >>> > >>> > Some guidelines to good documentation/howto or tutorials and/or >> some >>> > examples and functions/class would be >>> > appreciated immensely >>> >>> http://wso2.org/library/1060 >>> >>> > >>> > Regards >>> > >>> >>> >> >

« previous php.general (#289826) next »