[英]How to instantiate Nusoap's ComplexType using php in server side?
I am writing a simple web service methods using nusoap library in php. 我正在使用nusoap库编写一个简单的Web服务方法。 I already create a complextype (struct) in server side but I want to instantiate that struct in a method so I can return it.
我已经在服务器端创建了一个复杂类型(结构),但是我想在一个方法中实例化该结构,以便返回它。 I saw an example in here but using keyword " new " doesn't work.
我在这里看到了一个示例,但是使用关键字“ new ”不起作用。 It doesn't see ComplexType.
它没有看到ComplexType。 So how can I create new ComplexLogin struct in my LoginTest function?
那么,如何在LoginTest函数中创建新的ComplexLogin结构?
//ComplexLoginType
$server->wsdl->addComplexType('ComplexLogin','complexType','struct','all','',
array(
'EnterpriseId' => array('name' => 'EnterpriseId','type' => 'xsd:int'),
'FirstName' => array('name' => 'FirstName','type' => 'xsd:string'),
'Password' => array('name' => 'Password','type' => 'xsd:string'))
);
$server->register(
// method name:
'LoginTest',
// parameter list:
array('name'=>'tns:ComplexLogin'),
// return value(s):
array('return'=>'tns:ComplexLogin'),
// namespace:
$namespace,
// soapaction: (use default)
false,
// style: rpc or document
'rpc',
// use: encoded or literal
'encoded',
// description: documentation for the method
'Login Method'
);
I cannot instantiate ComplexType directly but if I use array instead, it works correctly. 我无法直接实例化ComplexType,但是如果我改用数组,它可以正常工作。 However I wonder if there is another way to return ComplexType without using arrays?
但是我想知道是否还有另一种不使用数组就返回ComplexType的方法?
My complete working function in server side; 我在服务器端的完整工作功能;
function LoginTest($mycomplexlogin)
{
$conn=openConnection();
// Check connection
if ($conn->connect_error)
{
//return("Connection failed: " . $conn->connect_error);
return NULL;
}
$EnterpriseId=mysqli_real_escape_string($conn,$mycomplexlogin["EnterpriseId"]);
$FirstName=mysqli_real_escape_string($conn,$mycomplexlogin["FirstName"]);
$Password=mysqli_real_escape_string($conn,$mycomplexlogin["Password"]);
$result=array('EnterpriseId'=>$EnterpriseId, 'FirstName'=>$FirstName,'Password'=>$Password);
return $result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.