Re: How to work with Webservices (.asmx) server
| From: | Anton Heuschen | Date: | Wed, 11 Mar 2009 08:47:27 +0000 |
| Subject: | Re: How to work with Webservices (.asmx) server | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-289822@lists.php.net to get a copy of this message | ||
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.
Regards
Now of to make myself a nice Hagelslag botterham to soothe my nerves ;-)
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="ªÎŒŽaõ
> > > Òv–�º©$�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
> > >
> >
> >
>
>