Windows Phone中的nusoap问题

时间:2015-08-19 09:45:36

标签: c# windows windows-phone-8 soap nusoap

我遇到了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);

结果程序返回了一个任务。那么我该怎么做才能得到一个字符串呢?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

生成的服务在Windows Phone上使用异步方法(您的测试更改为testAsync),因此您需要等待它们

var result = await c.testAsync(check);