Bonjour, bonjour,
Avant tout bonne année à tous
Alors voila j'ai un petit problème de web service et j'arrive pas à trouver une solution, j'ai chercher et ca part dans tous les sens :
sur mon server :
sur mon client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ini_set('soap.wsdl_cache_enabled',0); $s= new SoapServer('./add.wsdl',array('uri'=>'http://devdam.in.ac-nancy-metz.fr/sos-signalement/', 'location' => 'http://devdam.in.ac-nancy-metz.fr/sos-signalement/')); $s->addFunction('accueil'); $s->handle(); function accueil($contexte) { ..... }
et mon fichier wdsl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 ini_set('soap.wsdl_cache_enabled',0); $client = new SoapClient ( './add.wsdl', array ( 'uri' => 'http://devdam.in.ac-nancy-metz.fr/sos-signalement/', 'location' => 'http://devdam.in.ac-nancy-metz.fr/sos-signalement/', 'trace' => 1, 'exceptions' => 0 ) ); try { $result = $client-> __soapCall('accueil', array('1')); echo $result; } catch (SoapFault $e) { echo "Error: {$e->faultstring}"; } echo "<pre>\n"; echo "Request :\n".htmlspecialchars($client ->__getLastRequest()) ."\n"; echo "Response:\n".htmlspecialchars($client ->__getLastResponse())."\n"; echo "</pre>";
Voilou alors quand je lance le serveur j'ai ce message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57<?xml version="1.0"?> <definitions name="CSP" targetNamespace="urn:CSP" xmlns:tns="urn:CSP" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:typens="urn:CSP" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:CSP"> </xsd:schema> </types> <message name="entier"> <part name="entier" type="xsd:int"/> </message> <message name="caractere"> <part name="caractere" type="xsd:string"/> </message> <portType name="CspPorts"> <operation name="accueil"> <input message="entier"/> <output message="caractere"/> </operation> </portType> <binding name="MyBinding" type="typens:CspPorts"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="accueil"> <soap:operation soapAction="http://devdam.in.ac-nancy-metz.fr/sos-signalement/add.wsdl"/> </operation> </binding> <service name="accueil"> <documentation>SOS</documentation> <port name="CspPorts" binding="typens:MyBinding"> <soap:address location="http://devdam.in.ac-nancy-metz.fr/sos-signalement/index.php"/> </port> </service> </definitions>
la ligne 22 c'est celle ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8SoapFault exception: [HTTP] Unknown protocol. Only http and https are allowed. in /appli/sos-signalement/www/testsoap.php:22 Stack trace: #0 [internal function]: SoapClient->__doRequest('__soapCall('accueil', Array) #2 {main} Request : <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:accueil><entier>1</entier></SOAP-ENV:accueil></SOAP-ENV:Body></SOAP-ENV:Envelope> Response:
et voila je vois pas pourquoi le serveur connais pas le protocole http
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $result = $client-> __soapCall('accueil', array('1'));
Partager