Probleme de Webservice

Nouveau WRInaute
Bonjour,
je cherche a resoudre mon probleme pour un webservice creé en java, En fait , j'ai le WSDL mai je trouve pas la methode pour interroger le webservice avec une requetre XML.
j'essayé de fair ça:
$req='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
<http://schemas.xmlsoap.org/soap/envelope/> xmlns:web="http://webservices.bravofly.com/"
<http://webservices.bravofly.com/> > <soapenv:Header/> <soapenv:Body> <web:searchFlights>
<idBusinessProfile>toto</idBusinessProfile>
<password>toto</password>
<departureAirport>LON</departureAirport>
<arrivalAirport>MIL</arrivalAirport>
<roundTrip>true</roundTrip>
<outboundDate>2011-02-19</outboundDate>
<returnDate>2011-03-19</returnDate>
<adults>1</adults>
<childs>0</childs>
<infants>0</infants>
<numberOfResults>3</numberOfResults>
<language>it</language>
</web:searchFlights>
</soapenv:Body>
</soapenv:Envelope>';
$wsdl="http://wstest.viaggiare.it/vws/BravoFlySearchWs?WSDL";
$clientSOAP = new SoapClient($wsdl);
$result=$clientSOAP->__doRequest($req,$wsdl,'soapXml',SOAP_1_2);
print_r($result);

Voila le wsdl:
<definitions targetNamespace="http://webservices.bravofly.com/" name="BravoFlySearchWsService">
<types>
<xsd:schema>
<xsd:import namespace="http://webservices.bravofly.com/" schemaLocation="http://wstest.viaggiare.it:80/vws/BravoFlySearchWs?xsd=1"/>
</xsd:schema>
</types>
<message name="searchFlights">
<part name="parameters" element="tns:searchFlights"/>
</message>
<message name="searchFlightsResponse">
<part name="parameters" element="tns:searchFlightsResponse"/>
</message>
<portType name="BravoFlySearchWs">
<operation name="searchFlights">
<input message="tns:searchFlights"/>
<output message="tns:searchFlightsResponse"/>
</operation>
</portType>
<binding name="BravoFlySearchWsPortBinding" type="tns:BravoFlySearchWs">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="searchFlights">
<soap:eek:peration soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="BravoFlySearchWsService">
<port name="BravoFlySearchWsPort" binding="tns:BravoFlySearchWsPortBinding">
<soap:address location="http://wstest.viaggiare.it:80/vws/BravoFlySearchWs"/>
</port>
</service>
</definitions>

Mais je rien reçue, que des erreurs tel que:
ncaught SoapFault exception: java.lang.NullPointerException in /homez.....
Aussi je crois que je mal utiliser le __doRequest
Pouvez vous m'aidé?
Merci d'avance :wink:
Cordialement
 
WRInaute discret
ton webservice utilise SOAP, il faut donc que tu te fasses un client SOAP, en PHP tu as http://php.net/soap

a partir de la tu construit ton client, appelle les fonctions definies dans le wsdl avec les bons parametres. Par exemple

BravoFlySearchWsPortBinding
 
Nouveau WRInaute
Bonjour
Merci Poulpe pour votre réponse
Enfin je trouver la solution pour mon problème , mais je suis confronté à un autre problème...je bien récupérer la résultat retourné par le serveur (Un Objet) et je n'arrive pas a sérialiser cette Objet pour le rendre en XML
Voila l'objet retourné:
stdClass Object ( [return] => stdClass Object ( [idRequest] => 1377214516 [responseCode] => 0 [trips] => Array ( [0] => stdClass Object ( [amount] => 65.3800 [currency] => EUR [deeplink] => http://www.bravofly.fr/vg1/searching.do?departureAirport=PAR&arrivalAirport=MIL&roundtrip=true&outboundDay=19&outboundMonthYear=032011&returnDay=19&returnMonthYear=042011&adults=1&childs=0&infants=0&COBRANDED=VOYAGEFR&url=search3.do&currency=EUR [electronicTicket] => 1 [outboundLeg] => stdClass Object ( [duration] => [hops] => stdClass Object ( [arrivalAirport] => BGY [arrivalDate] => 2011-03-19T09:55:00+01:00 [departureAirport] => BVA [departureDate] => 2011-03-19T08:30:00+01:00 [flightNumber] => 4232 [idAirline] => FR ) [stops] => 0 ) [returnLeg] => stdClass Object ( [duration] => [hops] => stdClass Object ( [arrivalAirport] => BVA [arrivalDate] => 2011-04-19T22:05:00+02:00 [departureAirport] => BGY [departureDate] => 2011-04-19T20:30:00+02:00 [flightNumber] => 4235 [idAirline] => FR ) [stops] => 0 ) [roundTrip] => 1 ).................
Merci de me repondre
Cordialement :)
 
Nouveau WRInaute
Jobless a dit:
Bonjour
Merci Poulpe pour votre réponse
Enfin je trouver la solution pour mon problème , mais je suis confronté à un autre problème...je bien récupérer la résultat retourné par le serveur (Un Objet) et je n'arrive pas a sérialiser cette Objet pour le rendre en XML
Voila l'objet retourné:
stdClass Object ( [return] => stdClass Object ( [idRequest] => 1377214516 [responseCode] => 0 [trips] => Array ( [0] => stdClass Object ( [amount] => 65.3800 [currency] => EUR [deeplink] => http://www.bravofly.fr/vg1/searching.do?departureAirport=PAR&arrivalAirport=MIL&roundtrip=true&outboundDay=19&outboundMonthYear=032011&returnDay=19&returnMonthYear=042011&adults=1&childs=0&infants=0&COBRANDED=VOYAGEFR&url=search3.do&currency=EUR [electronicTicket] => 1 [outboundLeg] => stdClass Object ( [duration] => [hops] => stdClass Object ( [arrivalAirport] => BGY [arrivalDate] => 2011-03-19T09:55:00+01:00 [departureAirport] => BVA [departureDate] => 2011-03-19T08:30:00+01:00 [flightNumber] => 4232 [idAirline] => FR ) [stops] => 0 ) [returnLeg] => stdClass Object ( [duration] => [hops] => stdClass Object ( [arrivalAirport] => BVA [arrivalDate] => 2011-04-19T22:05:00+02:00 [departureAirport] => BGY [departureDate] => 2011-04-19T20:30:00+02:00 [flightNumber] => 4235 [idAirline] => FR ) [stops] => 0 ) [roundTrip] => 1 ).................
Merci de me repondre
Cordialement :)

C resolue avec __getLastRequest();
Merci
 
Discussions similaires
Haut