Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2649 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'utilisation de Webservice

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme d'utilisation de Webservice

n°1480065
lerdouille
Posté le 22-11-2006 à 17:07:08  profilanswer
 

Bonjour,
 
alors voila, je suis totalement newbie en webservices et je dois appeler une fonction du type :
 
string SubmitJob(string param1, string param2, string param3, strinf flux_xml, out int returncode, out string return_message) qui a pour but d'envoyer un fax
 
Apres quelques recherches, et étant donné que je n'ai pas php5 d'installer sur mon serveur, j'ai décidé d'utiliser la librairie NuSoap pour appeler ce webservice via php.
 
Voici le code :  
 
<?php
$job = "<RTECOM>
<InfFile>
<Dest_1>
  <Fax>0400000000</Fax> //un numero de faxe valide a la place
  </Dest_1>
<Document>
  <Delete_Files>0</Delete_Files>  
  <File_1>fax1.txt</File_1>  
  <File_1.Base64>Q2VjaSBlc3QgdW4gdHllc3QgbWVyY2kgZGUgZW4gcGFzIGVuIHRlbmlyIGNvbXB0ZQ==</File_1.Base64>  
  </Document>
<FAX>
  <Dest>1</Dest>  
  <Type>RTEFAXTYPE_TEXT_0001</Type>  
  </FAX>
  </InfFile>
  </RTECOM>";
 
require('nusoap-0.7.2/lib/nusoap.php');
 
$client = new soapclient("url" ); // remplacer par l'url fournit finissant par .asmx
 
// définition des parametres du Webservice (Requete SQL, Liste de serveurs, type de sortie)
$params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job);
 
$result = $client->call('submitjob', $params,'NAMESPACE','SOAPACTION'); // la encore fournit
 
if ($client->fault) {
 echo '<h2>Fault (This is expected)</h2><pre>'; print_r($result); echo '</pre>';
} else {
 $err = $client->getError();
 if ($err) {
  echo '<h2>Erreur</h2><pre>' . $err . '</pre>';
 } else {
  echo '<h2>Result</h2><pre>'; print_r($result); echo '</pre>';
 }
}
 
echo '<h2>Request</h2><pre>' . htmlspecialchars($client->request, ENT_QUOTES) . '</pre>';
echo '<h2>Response</h2><pre>' . htmlspecialchars($client->response, ENT_QUOTES) . '</pre>';
echo '<h2>Debug</h2><pre>' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '</pre>';
?>

 
Le retour du script reste invariablement la meme chose :
 

Fault (This is expected)
 
Array
(
    [faultcode] => soap:Server
    [faultstring] => Server was unable to process request. --> Object reference not set to an instance of an object.
    [detail] =>  
)
 

 Je vous fais grace de tout le message avec la request et le debug.
 
Quelqu'un a t'il une idée ? Ca va faire bientôt une semaine que je galère franchement la dessus  :??:  
 
Merci

mood
Publicité
Posté le 22-11-2006 à 17:07:08  profilanswer
 

n°1480833
lerdouille
Posté le 23-11-2006 à 16:46:12  profilanswer
 

Up!
 
y a du nouveau....
 
je viens de tester ce script sur un serveur ou est installé PHP5 et ca marche nikel :
 
$job = "<RTECOM>
<InfFile>
<Dest_1>
  <Fax>0493000000</Fax>  
  </Dest_1>
<Document>
  <Delete_Files>0</Delete_Files>  
  <File_1>fax1.txt</File_1>  
  <File_1.Base64>Q2VjaSBlc3QgdW4gdHllc3QgbWVyY2kgZGUgZW4gcGFzIGVuIHRlbmlyIGNvbXB0ZQ==</File_1.Base64>  
  </Document>
<FAX>
  <Dest>1</Dest>  
  <Type>RTEFAXTYPE_TEXT_0001</Type>  
  </FAX>
  </InfFile>
  </RTECOM>";
try {
    // Nouvelle instance de la classe soapClient
    $client = new SoapClient("url" ); //finissant par .asmx?wsdl
    // appel de la méthode getServerDate du service web
 $params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job);  'jobContent' => $job);
    $O = $client->SubmitJob($params);
 
    // Affichage du résultat
    echo $O->date ;
} catch (SoapFault $fault) {
    echo $fault;
}
 
 
Mais je n'arrive pas a retranscrire le tout en utilisant la librairie Nusoap, obligatoire si je n'ai pas PHP5 d'installé....
 
Please quelqu'un pour m'aider ?  :pt1cable:

n°1480901
soju
One shot !
Posté le 23-11-2006 à 17:28:47  profilanswer
 

t'as le wsdl du service que tu veux utiliser ? en particulier la partie concernant SubmitJob

n°1480947
lerdouille
Posté le 23-11-2006 à 18:30:15  profilanswer
 

soju a écrit :

t'as le wsdl du service que tu veux utiliser ? en particulier la partie concernant SubmitJob


 
<wsdl:definitions targetNamespace="http://url/">

 <wsdl:types>

 <s:schema elementFormDefault="qualified" targetNamespace="url">

 <s:element name="SubmitJob">

 <s:complexType>

 <s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="param1" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="param2" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="param3" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="jobContent" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
 
c'est ca qui t'interesse ?
 
Merci

n°1481151
soju
One shot !
Posté le 24-11-2006 à 10:00:28  profilanswer
 

cette page pourra peut être t'aider : http://users.skynet.be/pascalbotte [...] vanced.htm
tiens nous au courant

n°1481185
lerdouille
Posté le 24-11-2006 à 10:57:04  profilanswer
 

soju a écrit :

cette page pourra peut être t'aider : http://users.skynet.be/pascalbotte [...] vanced.htm
tiens nous au courant


 
J'ai deja essayé ca avant, il me retourne egalement la meme erreur  :??:

n°1481193
soju
One shot !
Posté le 24-11-2006 à 11:06:08  profilanswer
 

sinon c'est normal que tu aies flux_xml à la place de jobContent ?
 
dans ton 2ème prog tu as jobContent mais la ligne est syntaxiquement fausse, une erreur de copier coller ?

Code :
  1. $params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job);  'jobContent' => $job);


 
EDIT: fôte

Message cité 1 fois
Message édité par soju le 24-11-2006 à 11:07:01
n°1481213
lerdouille
Posté le 24-11-2006 à 11:50:20  profilanswer
 

soju a écrit :

sinon c'est normal que tu aies flux_xml à la place de jobContent ?
 
dans ton 2ème prog tu as jobContent mais la ligne est syntaxiquement fausse, une erreur de copier coller ?

Code :
  1. $params = array('param1' => "toto", 'param2' => "toto", 'param3' => "toto", 'flux_xml' => $job);  'jobContent' => $job);


 
EDIT: fôte


 
Erreur de copier/coller effectivment :p

n°1481218
soju
One shot !
Posté le 24-11-2006 à 11:53:47  profilanswer
 

lerdouille a écrit :

J'ai deja essayé ca avant, il me retourne egalement la meme erreur  :??:

tu as essayé en utilisant flux_xml ou jobContent ?

n°1481253
lerdouille
Posté le 24-11-2006 à 13:31:02  profilanswer
 

soju a écrit :

tu as essayé en utilisant flux_xml ou jobContent ?


 
j'ai essayé avec jobContent, j'ai bien mis les bons noms des variables en rapport avec le wsdl

mood
Publicité
Posté le 24-11-2006 à 13:31:02  profilanswer
 

n°1481303
soju
One shot !
Posté le 24-11-2006 à 14:24:34  profilanswer
 

je donne ma langue au chat, ou alors donne nous l'url de ton service qu'on puisse tester

n°1481346
lerdouille
Posté le 24-11-2006 à 15:05:51  profilanswer
 

impossible, c'es un service ou on doit transmettre des accès fournis par la société :s c'est pour ca que j'ai remplacé les nom des variables dans mes posts ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme d'utilisation de Webservice

 

Sujets relatifs
probleme jniProblème à l'installation de php
Infopath : problème publicationProblème suite à desinstallation module nuke.
probleme pour integrer un .swf dans un .flaProblème avec une partie de l'admin d'un site en php
Problème avec le RELOAD privilegeProblème avec la Fonction GET['etat']
[Résolu] Readfile et UTF-8 : problème d'espace.Problème de copier coller dans Excel
Plus de sujets relatifs à : Probleme d'utilisation de Webservice


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR