我有一个用nusoap创建的web服务,实际上是给我一个字符串 我想发送名称和姓氏到我的网络服务,我的网络服务必须保存这些信息并给我一个ID(自动增量),它确实如此,但我想要这样的东西
发送: nombrepersona =“ozzy” apellidopersona = “奥斯本”
我得到了id(自动增量),例子
1
但我想要一个类似
的xml<id>1</id>
或
<id>1</id>
<name>ozzy</name>
<lastname>osbourne</lastname>
或
<response>
<id>1</id>
<name>ozzy</name>
<lastname>osbourne</lastname>
</response>
<?php
error_reporting(1);
require_once('lib/nusoap.php');
$client = new nusoap_client("http://localhost/nusoap/server3.php?wsdl",'wsdl');
$nombre="ozzy";
$apellido="osbourne";
$params =array(
'nombrepersona'=>$nombre,
'apellidopersona'=>$apellido);
$result = $client->call('insertar',array($params));
?>
<?php
$server->wsdl->addComplexType(
'Persona',
'complexType',
'struct',
'all',
'',
array(
'nombrepersona' => array('name' => 'nombrepersona', 'type' => 'xsd:string'),
'apellidopersona' => array('name' => 'apellidopersona', 'type' => 'xsd:string')
)
);
$server->wsdl->addComplexType(
'ArrayOfPersona',
'complexType',
'array',
'',
'SOAP-ENC:Array',
array(),
array(
array('ref' => 'SOAP-ENC:arrayType', 'wsdl:arrayType' => 'tns:Persona[]')
),
'tns:Persona'
);
$server->register(
'insertar', // Nombre del método
array('datos' =>'tns:Persona'), // Parámetros de entrada
array('return' => 'xsd:string'), // Parámetros de salida
SOAP_SERVER_NAMESPACE, // Nombre del workspace
SOAP_SERVER_NAMESPACE.'#insertar', // Acción soap
'rpc', // Estilo
'encoded', // Uso
'Insertar datos de la persona' // Documentación
);
?>
功能
<?php
function insertar($datos)
{
require_once('conectar.php');
mysql_select_db($database,$conexion);
mysql_query("SET NAMES 'utf8'");
$query="INSERT INTO personas (`nombrep`,`apellidop`) VALUES('".$datos['nombrepersona']."','".$datos['apellidopersona']."')";
$record=mysql_query($query,$conexion) or die ((mysql_error()));
$id=mysql_insert_id();
return $id;
}
?>
答案 0 :(得分:0)
解决方案,定义输出必须如下:
阵列(&#39;响应&#39; = GT;&#39; XSD:数组&#39)
并返回这样的函数:
返回数组(&#39; id&#39; =&gt; $ id等);