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...
[PHP] Fonction mail() VoirLa fonction mail() est bloquée chez certains des hébergeurs gratuits pour des raisons de sécurité (afin d'éviter le spam notamment), l'adresse ip de la machine qui a demandé le script sera alors indiquée dans le header 'X-MM-Mail-From-IP'. renseignez...
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...
VBScript - Les fonctions et les procédures VoirLa notion de procédure On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction (ou procédure)...
Collection CommentÇaMarche.net