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