加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 注意使用nusoap进行字符串转换的数组

发布时间:2020-12-13 21:57:46 所属栏目:PHP教程 来源:网络整理
导读:我正在使用nosoap在 PHP中开发一个Web服务.这是我的文件,webservice.php ?phprequire_once "nusoap/nusoap.php";$namespace = "urn:mywsdl";$server = new soap_server();$server-configureWSDL('myWS',$namespace);$server-wsdl-schemaTargetNamespace = $n
我正在使用nosoap在 PHP中开发一个Web服务.这是我的文件,webservice.php

<?php
require_once "nusoap/nusoap.php";

$namespace = "urn:mywsdl";
$server = new soap_server();
$server->configureWSDL('myWS',$namespace);
$server->wsdl->schemaTargetNamespace = $namespace;

$server->wsdl->addComplexType('datosBasicos','complexType','struct','all','',array(
    'codigo' => array(
        'name' => 'codigo','type' => 'xsd:string'
    ),'nombre' => array(
        'name' => 'nombre','type' => 'xsd:string'
    )
));


$server->wsdl->addComplexType('arraydatosBasicos','array','SOAP-ENC:Array',array(),array(
    array('ref' => 'SOAP-ENC:arrayType','wsdl:arrayType' => 'tns:datosBasicos[]')
        ),'tns:datosBasicos'
);


$server->register('saludar',array('nombre' => 'xsd:string'),array('return' => 'tns:arraydatosBasicos'),$namespace);

function saludar($nombre) {
    $array[] = array('codigo' => '123','nombre' => 'test');
    $array[] = array('codigo' => '5745','nombre' => 'probando');
    $datos[] = $array[1];
    return $datos;
}

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
?>

但是,当我使用SOAPUI部署Web服务时,我收到此错误:

<b>Notice</b>:  Array to string conversion in <b>C:xampphtdocsnusoapnusoapnusoap.php</b> on line <b>6132</b><br />

我究竟做错了什么?

解决方法

我得到了类似的错误,我不得不在nusoap.php中评论一行:像:

//$this->debug("$k = $v<br>");

这对我来说很好.

显然,它仅用于调试,所以不要担心功能,因为如果你对行进行注释它应该是相同的.我认为当你创建复杂的数据时(这意味着,在你的情况下,在另一个数组中的数组)
nusoap无法打印它进行调试.

无论如何祝你好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读