pas une valeur AllXsd valide
Je l'ai obtenu à partir d'un client Soap demande:
Exception: exception de type soapfault:
[soap:Client] Serveur n'a pas pu
demande de lecture. ---> Il y a une erreur
dans le document XML (2, 273). ---> Le
string '2010-5-24' n'est pas valide
AllXsd valeur. dans /chemin/filinet.php:21
Stack trace: #0 [interne]:
SoapClient->__call('SubIdDetailsByO...',
Array) #1 /path/filinet.php(21):
SoapClient->SubIdDetailsByOfferId(Array) #2 {principal}
Semble que je suis l'envoi d'une valeur incorrecte, comment dois-je formater ma valeur dans un AllXsd en php?
Voici mon code:
<?php
$start = isset($_GET['start']) ? $_GET['start'] : date("Y-m-d");
$end = isset($_GET['end']) ? $_GET['end'] : date("Y-m-d");
//define parameter array
$param = array('userName'=>'user', 'password'=>'pass', 'startDate' => $start, 'endDate' => $end, 'promotionId' => '');
//Get wsdl path
$serverPath = "https://webservices.filinet.com/affiliate/reports.asmx?WSDL";
//Declare Soap client
$client = new SoapClient($serverPath);
try {
//make the call
$result = $client->SubIdDetailsByOfferId($param);
//If error found display error
if(isset($fault))
{
echo "Error: ". $fault;
}
//If no error display response
else
{
//Used to display raw XML in the Web Browser
header("Content-Type: text/xml;");
//SubIdDetailsResult = XML results
echo $result->SubIdDetailsByOfferIdResult;
}
}
catch(SoapFault $ex) {
echo "<b>Exception:</b> ". $ex;
}
unset($client);
?>
source d'informationauteur Loreto Gabawa Jr.
Vous devez vous connecter pour publier un commentaire.
AllXsd valeurs ressembler à quelque chose comme ceci IIRC
Vous devez utiliser le format de date ISO 8601
date('c', strtotime($my_date));
Couper à la chasse et à l'utilisation
Le problème est avec le format de la date $démarrer ou $fin. Au lieu de simplement saisissant les données dans la chaîne de requête avec $_GET et de l'envoyer, vous devez faire de la vérification d'intégrité pour s'assurer que la date correspond au format requis
Au lieu d'utiliser date("Y-m-d"), essayez d'utiliser: