Re: Re: Web Service Problem
| From: | Michael Shadle | Date: | Tue, 15 Jun 2010 16:07:56 +0000 |
| Subject: | Re: Re: Web Service Problem | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-306170@lists.php.net to get a copy of this message | ||
Wso2 is also pretty awesome.
I wish soap would just die and be replaced with rest and json.
On Jun 15, 2010, at 6:15 AM, Richard Quadling <rquadling@gmail.com> wrote:
> On 15 June 2010 12:44, John <john.zakaria@graphicano.com> wrote:
>>
>>
>>
>> Really i need help coz i am trying to solve this problem from 4 weeks and i can not so
>> please help me
>>
>> I want to use a web service ( created in ASP.NEt ) in my web site using php coz i will use
>> the result in other php pages.
>> the web service link is:
>> http://196.218.16.133/onlinereservation/service.asmx?WSDL
>>
>> function name: HotelData under HotelsSearch
>>
>> Is there a tool for PHP or any other way to pass string for HotelData and get an XML
>> file containing the result?
>>
>>
>>
>> I tried to learn SOAP in the manual and I can not till now return data from this web
>> service
>>
>>
>>
>> My Code is:
>>
>>
>>
>> <?
>>
>> header("Content-Type: text/plain");
>>
>> $client = new
>> SOAPClient('http://196.218.16.133/OnlineReservationTravelline/service.asmx?WSDL'¹;•ýÊ.
>> $Ã ª.·ƒ&);
>>
>>
>>
>> try {
>>
>> $params->HotelData =
>> '<HotelsParameters><CityID>388</CityID><UserName>admin</UserName><UserPassword>admin</UserPassword><DateFrom>6/12/2010</DateFrom><DateTo>6/13/2010</DateTo><NumberOfRooms>2</NumberOfRooms><Room><RoomSerial>1</RoomSerial><Adults>1</Adults><Child><ChildSerial>1</ChildSerial><ChildAge>5</ChildAge></Child></Room><Room><RoomSerial>2</RoomSerial><Adults>2</Adults><Child><ChildSerial>1</ChildSerial><ChildAge>8</ChildAge></Child><Child><ChildSerial>2</ChildSerial><ChildAge>5</ChildAge></Child></Room><CurrencyID>162</CurrencyID></HotelsParameters>';
>>
>>
>>
>> $result = $client->HotelsSearch($params);
>>
>> //echo $result;
>>
>> } catch (SOAPFault $exception) {
>>
>>
>>
>> print $exception;
>>
>> print htmlspecialchars($client->__getLastRequest());
>>
>> }
>>
>>
>>
>> var_dump($result);
>>
>>
>>
>> ?>
>>
>>
>>
>> Note: the string is '
>> <HotelsParameters><CityID>388</CityID><UserName>admin</UserName><UserPassword>admin</UserPassword><DateFrom>6/12/2010</DateFrom><DateTo>6/13/2010</DateTo><NumberOfRooms>2</NumberOfRooms><Room><RoomSerial>1</RoomSerial><Adults>1</Adults><Child><ChildSerial>1</ChildSerial><ChildAge>5</ChildAge></Child></Room><Room><RoomSerial>2</RoomSerial><Adults>2</Adults><Child><ChildSerial>1</ChildSerial><ChildAge>8</ChildAge></Child><Child><ChildSerial>2</ChildSerial><ChildAge>5</ChildAge></Child></Room><CurrencyID>162</CurrencyID></HotelsParameters>’
>>
>>
>>
>>
>>
>> John Zakaria Sabry
>> Senior Web Developer
>>
>>
>>
>> 3 El Nasr Street, EL Nozha EL Gedida,
>> Heliopolis, Cairo, Egypt
>>
>> Phone: +202 262 00 755 - +2 012 551 5551
>>
>> Fax: +202 262 00 755
>>
>> Mobile: +2 018 131 91 89
>>
>> john.zakaria@graphicano.com
>>
>> www.graphicano.com
>>
>>
>
> http://pastebin.com/cuXnT9Fb
>
> That contains some PHP classes which are based upon the WSDL file. The
> conversion is with the sourceforge wsdl2php project (with some mods).
>
> In YOUR code ...
>
> <?php
> // Include the classes which wrap the SOAP service for you.
> require_once 'service.php';
>
> try
> {
> // Create a new Service (unforuntate name - maybe ReservationSystem
> or something - Service is VERY generic).
> $Service = new Service();
>
> // Let's do a tour search.
> $TourSearchRequest = new TourSearch();
>
> // Populate the TourSearchRequest.
> $TourSearchRequest->date = '2010/01/01';
>
> // Run the search.
> $TourSearchResponse = $Service->TourSearch($TourSearchRequest);
>
> // Dump the response (expecting it to be of class TourSearchResponse.
> var_dump($TourSearchResponse);
> }
>
> catch(Exception $ex)
> {
> // Dump the exception, taking note of faultstring and faultcode as
> these are SOAP Server generated errors.
> var_dump($ex);
> }
> ?>
>
> But this is generating a SOAP exception on the server, so the client
> code won't help here.
>
> ["faultstring"]=>string(96) "Server was unable to process request.
> ---> Object reference not set to an instance of an object."
> ["faultcode"]=>string(11) "soap:Server"
> ["detail"]=>string(0) ""
>
> How are you building the WSDL file? By hand? If so, I would recommend
> learning about using DocBlocks and a tool to auto generate the WSDL
> file.
>
> I use a modified version of Zend's SOAP, WSDL and AutoDiscovery tools
> to build my WSDL files from my source code.
>
> I then use a modified sourceforge's wsdl2php project to convert the
> wsdl file to normal PHP classes which do all the wrapping of the SOAP
> comms for me and let's me use normal PHP coding as if all the services
> were local and not on a remote server.
>
> Richard.
>
>
>
> --
> -----
> Richard Quadling
> "Standing on the shoulders of some very clever giants!"
> EE : http://www.experts-exchange.com/M_248814.html
> EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
> Zend Certified Engineer :
> http://zend.com/zce.php?c=ZEND002498&r=213474731
> ZOPA : http://uk.zopa.com/member/RQuadling
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>