Pb Soapclient()

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pb Soapclient()

Re: Pb Soapclient()

par alitokmen » 06 août 2010, 12:26

Bonjour

Je suis tombé sur le même problème, la solution décrite sur http://www.developpez.net/forums/d38805 ... ce-windev/ semble fonctionner.

Elle consiste en gros à changer l'emplacement du NS. Par exemple:

Code : Tout sélectionner

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:aby="AbySoap"> <soapenv:Header/> <soapenv:Body> <aby:ABYSOAP_ArborescenceSite> <aby:_Ident>1</aby:_Ident> <aby:_numCompSite>0</aby:_numCompSite> <aby:_avecEquip>0</aby:_avecEquip> <aby:_filtreEquip></aby:_filtreEquip> </aby:ABYSOAP_ArborescenceSite> </soapenv:Body> </soapenv:Envelope>
devient:

Code : Tout sélectionner

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <aby:ABYSOAP_ArborescenceSite xmlns:aby="AbySoap"> <aby:_Ident>1</aby:_Ident> <aby:_numCompSite>0</aby:_numCompSite> <aby:_avecEquip>0</aby:_avecEquip> <aby:_filtreEquip></aby:_filtreEquip> </aby:ABYSOAP_ArborescenceSite> </soapenv:Body> </soapenv:Envelope>
Bonne chance

S. Ali Tokmen
http://ali.tokmen.com/

Soap

par Invité » 16 juin 2009, 14:37

Oui avec Nusoap ça ne fonctionne pas non plus.
Je vais chercher dans les modification du wsdl généré
Je suis preneur d'autres idées.
merci

par geoffroy » 14 juin 2009, 17:57

Tu as essayé avec NuSoap ?
Sinon tu peux toujours écrire tes requêtes à la main..
Ou modifier ton wsdl.

Ou solution efficace : oublier Microsoft :roll:

Soap...

par Invité » 12 juin 2009, 19:38

Oui je connais cette citation et ce problème, mais je pensais que des spécialistes PHP serait contourné ce problème.

Pour nagol : Pourquoi dénigrer... Ça n'avance a rien et pour finir, non cette partie c'est pas mon problème je veux juste aidé.

par Nagol » 12 juin 2009, 02:32

berk soap, et berk windev

tu nous demande de reverse enginerer ton soap, c'est ton boulot non? et je parie que tu le fais pas gratuitement, alors pourquoi devraient-on?

par geoffroy » 11 juin 2009, 21:10

Il semblerait que le problème vienne du fait que les webservices développés avec windev requièrent que l'espace de nommage du service soit déclaré directement dans la balise d'appel de la fonction et non pas au niveau de l'enveloppe SOAP.
Source

par Invité » 11 juin 2009, 18:45

Personne pour répondre a ce problème ?

par zeus » 09 juin 2009, 13:58

Modération :
fcsamplus, le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.

Pb Soapclient()

par fcsamplus » 09 juin 2009, 12:14

Bonjour,

Voici un code PHP
$client = new SoapClient($wsdl,
	array
	(
	"trace"      => 1,
	"exceptions" => 0,
	'classmap' => $classmap
	)
);

$res_int = $client->pg_testsimple()->pg_testsimpleReturn;
qui retourne

Request :

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="BMIWBS"><SOAP-ENV:Body><ns1:pg_testsimple/></SOAP-ENV:Body></SOAP-ENV:Envelope>
Response:

Code : Tout sélectionner

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Le nom de la WDL contenant le service doit être précisé dans l'espace de nommage. NameSpace must contain the WDL name</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Je souhaiterais qu'il envoi au niveau de la requette les informations suivantes

Code : Tout sélectionner

<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\"> <soapenv:Body> <bmiw:pg_testsimple xmlns:bmiw="BMIWBS"/> </soapenv:Body> </soapenv:Envelope>'
Comment pour paramétrer l'instruction soapclient() pour qu'elle envoi la syntaxe ci-dessus.

Merci