消费来自。 vb net在php nusoap中创建的web服务

时间:2014-02-13 19:07:47

标签: php vb.net web-services nusoap

我创建了一个web服务nusoap我的web服务有复杂类型,在wsdl的定义中有一个名为“Persona”的数据类型,我已经从php中消耗了,但并没有那么严重消耗。 net vb,我在vs2008中添加了引用,但不像我必须发送类型为person的参数(idpersona,nombre,apellido)我希望你能帮助我谢谢。

从php消费

<?php 
error_reporting(1);
require_once('lib/nusoap.php');
$client = new nusoap_client("http://localhost/nusoap/server3.php?wsdl",'wsdl');
$id="78";
$nombre="donald";
$apellido="trump";
$params =array(
       'idpersona'=>$id,
       'nombrepersona'=>$nombre,
       'apellidopersona'=>$apellido);
$result = $client->call('insertar',array($params));

?>

定义

<?php
$server->wsdl->addComplexType(
    'Persona',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'idpersona' => array('name' => 'idpersona', 'type' => 'xsd:int'),
        '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
);

&GT;

图片here

0 个答案:

没有答案