par
Himitsu san » 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
<?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>
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
[php]<?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;
}[/php]
et le WSDL ...
[code]<?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>[/code]