Rechercher : dans
Par :

Appeler fonction SOAP WSDL avec PHP

RokeN, le 28 avr 2009 à 19:08:00 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un petit avec la fonction SOAPClient() en PHP.
Je vous explique. Je travaille sur outil qui possède un webservice.
J'aimerai me connecter sur ce webservice à l'aide de PHP et y effectuer des requêtes.

J'arrive bien à me connecter au webservice avec SOAPClient mais impossible d'utiliser une fonction.

Voici le fichier WSDL

<definitions targetNamespace="http://schemas.hp.com/SM/7" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">

<types>

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://schemas.hp.com/SM/7" version="2009-04-28 Rev 0">
<xs:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="http://www.w3.org/2005/05/xmlmime"/>
<xs:import namespace="http://schemas.hp.com/SM/7/Common" schemaLocation="http://ooklavyo-bf8712:13080/SM/7/Common.xsd"/>

<xs:complexType name="AAAAKeysType">

<xs:sequence>
<xs:element minOccurs="0" name="ID" nillable="true" type="cmn:StringType"/>
</xs:sequence>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="AAAAInstanceType">

<xs:sequence>
<xs:element minOccurs="0" name="ID" nillable="true" type="cmn:StringType"/>
<xs:element minOccurs="0" name="CC" nillable="true" type="cmn:StringType"/>
<xs:element minOccurs="0" name="DD" nillable="true" type="cmn:StringType"/>
<xs:element minOccurs="0" name="attachments" nillable="true" type="cmn:AttachmentsType"/>
</xs:sequence>
<xs:attribute name="query" type="xs:string" use="optional"/>
<xs:attribute name="uniquequery" type="xs:string" use="optional"/>
<xs:attribute name="recordid" type="xs:string" use="optional"/>
</xs:complexType>

<xs:complexType name="AAAAModelType">

<xs:sequence>
<xs:element name="keys" type="AAAAKeysType"/>
<xs:element name="instance" type="AAAAInstanceType"/>
<xs:element minOccurs="0" name="messages" type="cmn:MessagesType"/>
</xs:sequence>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>

<xs:element name="RetrieveAAAARequest">

<xs:complexType>

<xs:sequence>
<xs:element name="model" type="AAAAModelType"/>
</xs:sequence>
<xs:attribute name="attachmentInfo" type="xs:boolean" use="optional"/>
<xs:attribute name="attachmentData" type="xs:boolean" use="optional"/>
<xs:attribute default="true" name="ignoreEmptyElements" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="RetrieveAAAAResponse">

<xs:complexType>

<xs:sequence>
<xs:element name="model" type="AAAAModelType"/>
<xs:element minOccurs="0" name="messages" type="cmn:MessagesType"/>
</xs:sequence>
<xs:attribute name="status" type="cmn:StatusType" use="required"/>
<xs:attribute name="message" type="xs:string" use="required"/>
<xs:attribute name="schemaRevisionDate" type="xs:date" use="required"/>
<xs:attribute name="schemaRevisionLevel" type="xs:int" use="required"/>
<xs:attribute name="returnCode" type="xs:decimal" use="optional"/>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="RetrieveAAAAKeysListRequest">

<xs:complexType>

<xs:sequence>
<xs:element name="model" type="AAAAModelType"/>
</xs:sequence>
<xs:attribute name="attachmentInfo" type="xs:boolean" use="optional"/>
<xs:attribute name="attachmentData" type="xs:boolean" use="optional"/>
<xs:attribute default="true" name="ignoreEmptyElements" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="RetrieveAAAAKeysListResponse">

<xs:complexType>

<xs:sequence>
<xs:element maxOccurs="unbounded" name="keys" type="AAAAKeysType"/>
<xs:element minOccurs="0" name="messages" type="cmn:MessagesType"/>
</xs:sequence>
<xs:attribute name="status" type="cmn:StatusType" use="required"/>
<xs:attribute name="message" type="xs:string" use="required"/>
<xs:attribute name="schemaRevisionDate" type="xs:date" use="required"/>
<xs:attribute name="schemaRevisionLevel" type="xs:int" use="required"/>
<xs:attribute name="returnCode" type="xs:decimal" use="optional"/>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="RetrieveAAAAListRequest">

<xs:complexType>

<xs:sequence>
<xs:element maxOccurs="unbounded" name="keys" type="AAAAKeysType"/>
</xs:sequence>
<xs:attribute name="attachmentInfo" type="xs:boolean" use="optional"/>
<xs:attribute name="attachmentData" type="xs:boolean" use="optional"/>
<xs:attribute default="true" name="ignoreEmptyElements" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="RetrieveAAAAListResponse">

<xs:complexType>

<xs:sequence>
<xs:element maxOccurs="unbounded" name="instance" type="AAAAInstanceType"/>
<xs:element minOccurs="0" name="messages" type="cmn:MessagesType"/>
</xs:sequence>
<xs:attribute name="status" type="cmn:StatusType" use="required"/>
<xs:attribute name="message" type="xs:string" use="required"/>
<xs:attribute name="schemaRevisionDate" type="xs:date" use="required"/>
<xs:attribute name="schemaRevisionLevel" type="xs:int" use="required"/>
<xs:attribute name="returnCode" type="xs:decimal" use="optional"/>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="CreateAAAARequest">

<xs:complexType>

<xs:sequence>
<xs:element name="model" type="AAAAModelType"/>
</xs:sequence>
<xs:attribute name="attachmentInfo" type="xs:boolean" use="optional"/>
<xs:attribute name="attachmentData" type="xs:boolean" use="optional"/>
<xs:attribute default="true" name="ignoreEmptyElements" type="xs:boolean" use="optional"/>
</xs:complexType>
</xs:element>

<xs:element name="CreateAAAAResponse">

<xs:complexType>

<xs:sequence>
<xs:element name="model" type="AAAAModelType"/>
<xs:element minOccurs="0" name="messages" type="cmn:MessagesType"/>
</xs:sequence>
<xs:attribute name="status" type="cmn:StatusType" use="required"/>
<xs:attribute name="message" type="xs:string" use="required"/>
<xs:attribute name="schemaRevisionDate" type="xs:date" use="required"/>
<xs:attribute name="schemaRevisionLevel" type="xs:int" use="required"/>
<xs:attribute name="returnCode" type="xs:decimal" use="optional"/>
<xs:attribute name="query" type="xs:string" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>
</types>

<message name="RetrieveAAAARequest">
<part element="ns:RetrieveAAAARequest" name="RetrieveAAAARequest"/>
</message>

<message name="RetrieveAAAAResponse">
<part element="ns:RetrieveAAAAResponse" name="RetrieveAAAAResponse"/>
</message>

<message name="RetrieveAAAAKeysListRequest">
<part element="ns:RetrieveAAAAKeysListRequest" name="RetrieveAAAAKeysListRequest"/>
</message>

<message name="RetrieveAAAAKeysListResponse">
<part element="ns:RetrieveAAAAKeysListResponse" name="RetrieveAAAAKeysListResponse"/>
</message>

<message name="RetrieveAAAAListRequest">
<part element="ns:RetrieveAAAAListRequest" name="RetrieveAAAAListRequest"/>
</message>

<message name="RetrieveAAAAListResponse">
<part element="ns:RetrieveAAAAListResponse" name="RetrieveAAAAListResponse"/>
</message>

<message name="CreateAAAARequest">
<part element="ns:CreateAAAARequest" name="CreateAAAARequest"/>
</message>

<message name="CreateAAAAResponse">
<part element="ns:CreateAAAAResponse" name="CreateAAAAResponse"/>
</message>

<portType name="JO">

<operation name="RetrieveAAAA">
<documentation/>
<input message="ns:RetrieveAAAARequest"/>
<output message="ns:RetrieveAAAAResponse"/>
</operation>

<operation name="RetrieveAAAAKeysList">
<documentation/>
<input message="ns:RetrieveAAAAKeysListRequest"/>
<output message="ns:RetrieveAAAAKeysListResponse"/>
</operation>

<operation name="RetrieveAAAAList">
<documentation/>
<input message="ns:RetrieveAAAAListRequest"/>
<output message="ns:RetrieveAAAAListResponse"/>
</operation>

<operation name="CreateAAAA">
<documentation/>
<input message="ns:CreateAAAARequest"/>
<output message="ns:CreateAAAAResponse"/>
</operation>
</portType>

<binding name="JO" type="ns:JO">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<operation name="RetrieveAAAA">
<soap:operation soapAction="Retrieve" style="document"/>

<input>
<soap:body use="literal"/>
</input>

<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="RetrieveAAAAKeysList">
<soap:operation soapAction="RetrieveKeysList" style="document"/>

<input>
<soap:body use="literal"/>
</input>

<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="RetrieveAAAAList">
<soap:operation soapAction="RetrieveList" style="document"/>

<input>
<soap:body use="literal"/>
</input>

<output>
<soap:body use="literal"/>
</output>
</operation>

<operation name="CreateAAAA">
<soap:operation soapAction="Create" style="document"/>

<input>
<soap:body use="literal"/>
</input>

<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>

<service name="JO">

<port binding="ns:JO" name="JO">
<soap:address location="http://ooklavyo-bf8712:13080/SM/7/ws"/>
</port>
</service>
</definitions>



Explication : c'est une table nommée "AAAA" ds mon outil et elle possède 3 champs : ID, CC et DD.

J'aimerai utiliser la fonction CreateAAAA

Comment écrire le code ?

Voila ce que j'ai fais pour le moment

<?php
$wsdl = 'http://localhost:13080/SM/7/JO.wsdl';
$options = array(
'compression'=>true,
'exceptions'=>false,
'trace'=>true
);
$serv_customers = new SoapClient($wsdl, $options);
$test=$serv_customers->__call('CreateAAAA',array("ID"=>"HIC"));
echo $test;
?>

et voila l'erreur que j'obtiens

SoapFault exception: [HTTP] Unauthorized in C:\Program Files\EasyPHP 3.0\www\ServeurC\createContactSM.php:9 Stack trace: #0 [internal function]: SoapClient->__doRequest('__call('CreateAAAA', Array) #2 {main}

Merci de votre aide.

Configuration: Windows XP
Firefox 3.0.10

Meilleures réponses pour « Appeler fonction SOAP WSDL avec PHP » dans :
PHP - Les fonctions Voir La notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
[Webmaster] Afficher facilement le code php/xhtml de vos pages VoirSi vous voulez proposer a vos visiteurs de voir la source de vos fichiers (PHP ou HTML), il y a plusieurs solutions. En php Afficher le code php Afficher le code html En html Informations Voir aussi En php Afficher le code php La...
Vérifier le format d'une date en PHP VoirIl existe plusieurs méthodes pour verifier le format d'une date en PHP, vous pouvez par exemple découper la chaîne puis tester les valeurs de chaque élément. Plus simplement nous utiliserons les expressions régulières. Pour valider une date au...
PHP Parse error: unexpected '&lt;' in ... eval()'d code on l VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
Langage C - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Langage C++ - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Collection CommentÇaMarche.net