J'essaie d'utiliser le service Web entre le serveur C# et le client php.soap fault 'Chaîne d'entrée incorrecte dans le format'
Lorsque j'utilise le service web sans arguments tout fonctionne!
Mais quand je veux passer des arguments à fonctionner j'ai cette erreur: SoapFault: Le Format de la chaîne d'entrée is incorrect
Mon fichier wsdl: https://pastebin.com/ti805zkW
Mon code php:
public function previewAction(Request $req)
{
$client = new \SoapClient("http://localhost:1664/WebReport/Service/?wsdl");
$preview = $client->Preview(array('id' => 1, 'choice' => 2, 'userDate' => 'test'));
return new JsonResponse($preview);
}
Mon C# Code IService:
using System.Collections.Generic;
using System.ServiceModel;
namespace WebReport
{
[ServiceContract]
public interface IService
{
[OperationContract]
bool Reload();
[OperationContract]
bool Treatment();
[OperationContract]
Dictionary<string, float> Preview(int id, int choice, string userDate);
}
}
Mon C# Code de service:
using System;
using System.Collections.Generic;
namespace WebReport
{
public class Service : IService
{
public bool Reload()
{
//Application.GetInstance().ReloadConfig();
return true;
}
public bool Treatment()
{
//DataPoints.Treatment.GetInstance().run();
return true;
}
public Dictionary<string, float> Preview(int id, int choice, string userDate)
{
Console.WriteLine("{ 0}.{ 1}.{ 2}", id, choice, userDate);
Dictionary<string, float> test = new Dictionary<string, float>();
test.Add("2017-05-04 10:10:10", 100000);
test.Add("2017-05-05 10:10:10", 100001);
return test;
}
}
}
J'ai test pour extraire la classe php à partir du fichier WSDL avec wsdl2phpgenerator mais même erreur.
Des idées?