我遇到了Nusoap和Windows Phone的问题,我希望也许你可以帮助我。 但首先让我解释一下我做了什么:
首先我创建了一个web服务
<?php
require_once('./lib_095/nusoap.php');
$server = new soap_server();
$server->configureWSDL('test_wsdl', 'urn:test_wsdl');
$server->wsdl->schemaTargetNamespace = 'urn:test_wsdl';
$server->register('test', // method name
array('var' => 'xsd:string'), // input parameters
array('return' => 'xsd:string'), // output parameters
'urn:test_wsdl', // namespace
'urn:test_wsdl#test', // soapaction
'rpc', // style
'literal', // use
'Test-Methode des Webservices' // documentation
);
function test($var)
{
return "test fine: $var";
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>
在我的第一次测试中,我在visual studio 2013中编写了一个控制台应用程序:
ServiceReference1.test_servicePortTypeClient c = new ServiceReference1.test_servicePortTypeClient();
string check = "Milburn";
var result = c.test("Hallo");
Console.WriteLine(result);
这个小程序运行正常。 所以我认为我可以将体验转移到Windows Phone - 为此采取相同的代码。但这并没有奏效。我甚至试过这段代码:
ServiceReference1.test_servicePortTypeClient c = new ServiceReference1.test_servicePortTypeClient();
string check = "Milburn";
var result = c.testAsync(check);
System.Diagnostics.Debug.WriteLine("Hallo"+result);
结果程序返回了一个任务。那么我该怎么做才能得到一个字符串呢?
感谢您的帮助
答案 0 :(得分:0)
生成的服务在Windows Phone上使用异步方法(您的测试更改为testAsync),因此您需要等待它们
var result = await c.testAsync(check);