Надо получить данные в Silverlight приложение из написанной на php web-службе.
Проблема в том, что Silverlight код не видит web-метода в web-службе.
Делаю так:
PHP web-служба:
<?php
require_once ('lib/nusoap.php');
$server = new soap_server();
$namespace = "http://localhost/WebServiceSOAP/server1.php";
$server->wsdl->schemaTargetNamespace = $namespace;
$server->configureWSDL("MessageHello");
$server->register('MessageHello');
function MessageHello()
{
$result = "Welcome!";
return $result;
}
$server->service($HTTP_RAW_POST_DATA);
exit();
?>
Потом в Silverlight приложении делаю Add Service Reference. В появившемся окне Add Service Reference метод MessageHello виден — все OK. По кнопке Advanced в этом окне видно, что выбрано Generate Asynchronious Operations.
Потом пытаюсь использовать эту web службу в Silverlight методе, но событие MessageHelloCompleted отсутствует:
var service = new ServiceReference1.MessageHelloPortTypeClient();
service.MessageHelloCompleted += // <- вот тут у service нет никакого события MessageHelloCompleted! Хотя вроде должно быть.
Хотелось бы видеть что-то вроде:
...
var service = new ServiceReference1.MessageHelloPortTypeClient();
service.MessageHelloCompleted += service_HelloWorldCompleted:
service.HelloWorldAsync();
...
void service_HelloWorldCompleted(){
...
}
Как быть?