Consommer un service web soap
Posté : 21 sept. 2016, 17:26
Bonjour,
je débute en PHP et je dois consommer un Service Web avec authentification.
et la ... c'est le drame ...
je ne trouve pas comment
je débute en PHP et je dois consommer un Service Web avec authentification.
et la ... c'est le drame ...
je ne trouve pas comment
<?php
/**
* Invocation du Service WEB WSAddV
*/
ini_set('soap.wsdl_cache_enabled', 0);
function affiche($param) {
echo '<pre>';
print_r($param);
echo '</pre>';
}
try {
$login = 'xxx';
$pwd = 'xxx';
$wsdl_url = 'http://5.135.139.174:8080/services/WSAddV?wsdl';
$adr = Array('AddressLine1'=> $_POST['Adr1'],
'AddressLine2'=> $_POST['Adr2'],
'AddressLine3'=> $_POST['Adr3'],
'AddressLine4'=> $_POST['Adr4'],
'City'=> $_POST['Ville'],
'PostalCode'=> $_POST['CP'],
'Country'=> $_POST['Pays']
);
echo "Affiche l'adresse a traiter";
affiche($adr);
echo "En mode Dev... pour ne pas avoir a resaisir a chaque fois l'adresse a traiter";
$adr['AddressLine1'] = '113 rue faidherbe';
$adr['City'] = 'DRANCY';
$adr['PostalCode'] = '93700';
$adr['Pays'] = 'FR';
affiche($adr);
$user = Array('context' => Array('accountId'=>$login,'accountPassword'=>$pwd));
echo "Appel du Web Service";
$client = new SoapClient($wsdl_url, $user);
affiche($client);
$fonctions = $client->WSAddV($adr);
affiche($fonctions);
$result = $response->WSAddVResponse();
affiche($result);
} catch (Exception $e) {
echo "Exception occured: " . $e;
}
et le WSDL ...
Code : Tout sélectionner
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions name="WSAddV" targetNamespace="http://www.xx.com/" xmlns:ns1="http://www.xx.com/services/WSAddV" xmlns:ns2="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.xx.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://www.xx.com/services/WSAddV" xmlns:tns="http://www.xx.com/services/WSAddV" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="requestRow" type="tns:requestRow" />
<xs:element name="responseRow" type="tns:responseRow" />
<xs:complexType name="WSAddVRequest">
<xs:sequence>
<xs:element form="qualified" name="context" type="tns:context" />
<xs:element form="qualified" minOccurs="0" name="options" type="tns:options" />
<xs:element form="qualified" name="rows">
<xs:complexType>
<xs:sequence>
<xs:element form="qualified" maxOccurs="unbounded" name="row" type="tns:requestRow" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="context">
<xs:sequence>
<xs:element form="qualified" name="account.id" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="account.password" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="options">
<xs:sequence />
</xs:complexType>
<xs:complexType name="requestRow">
<xs:all>
<xs:element form="qualified" minOccurs="0" name="AddressLine1" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine2" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine3" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine4" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="City" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="PostalCode" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Country" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="StateProvince" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="FirmName" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="user_fields">
<xs:complexType>
<xs:sequence>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="user_field" type="tns:user_field" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="user_field">
<xs:sequence>
<xs:element form="qualified" name="name" type="xs:string" />
<xs:element form="qualified" name="value" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="WSAddVResponse">
<xs:sequence>
<xs:element form="qualified" minOccurs="0" name="error" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="rows">
<xs:complexType>
<xs:sequence>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="row" type="tns:responseRow" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="responseRow">
<xs:all>
<xs:element form="qualified" minOccurs="0" name="CountryLevel" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine1" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine2" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine3" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressLine4" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="City" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="StateProvince" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="PostalCode" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Country" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="cRet" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="QAdr" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="ProcessedBy" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock1" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock2" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock3" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock4" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock5" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock6" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock7" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock8" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AddressBlock9" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="AdditionalInputData" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="FirmName" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="POBox" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="IntINSEECode" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="HouseNumber" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="StreetName" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="StreetSuffix" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Street.Result" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="POBox.Result" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="SubBuilding" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Floor" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Room" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Locality" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Suburb" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="MailabilityScore" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="IntHexaviaCode" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="IntHexacleCode" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="IntHexacleStatus" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Status" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Status.Code" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="Status.Description" type="xs:string" />
<xs:element form="qualified" minOccurs="0" name="user_fields">
<xs:complexType>
<xs:sequence>
<xs:element form="qualified" maxOccurs="unbounded" minOccurs="0" name="user_field" type="tns:user_field" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:element name="WSAddVRequest" nillable="true" type="tns:WSAddVRequest" />
<xs:element name="WSAddVResponse" nillable="true" type="tns:WSAddVResponse" />
</xs:schema>
</wsdl:types>
<wsdl:message name="WSAddV">
<wsdl:part element="ns1:WSAddVRequest" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="WSAddVResponse">
<wsdl:part element="ns1:WSAddVResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="WSAddV">
<wsdl:operation name="WSAddV">
<wsdl:input message="tns:WSAddV" name="WSAddV">
</wsdl:input>
<wsdl:output message="tns:WSAddVResponse" name="WSAddVResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WSAddVSoapBinding" type="tns:WSAddV">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="WSAddV">
<soap:operation soapAction="" style="document" />
<wsdl:input name="WSAddV">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="WSAddVResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WSAddV">
<wsdl:port binding="tns:WSAddVSoapBinding" name="WSAddVPort">
<soap:address location="http://xxx.xxx.xxx.xxx:8080/services/WSAddV" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>