【问题标题】:Returning an array with PHP SOAP service使用 PHP SOAP 服务返回一个数组
【发布时间】:2011-02-13 08:36:29
【问题描述】:

当我开始做这件事时,我对 SOAP 或它的工作原理一无所知。在最初的几个小时里,我学到了很多东西,结果是对 SOAP 服务(我用 PHP 编写)进行了操作测试。我能够在 PHP 和 Visual Studio 中创建 SOAP 客户端(这是我真正的目标)并返回我想要的信息。

因为这只是一个测试,我想返回更多(和更好的格式)信息,我开始搞砸它。我添加了一些类型并编写了一些我导入的模式。当我完成添加我需要的所有内容(这只是为了一个结果)后,我将其全部保存并进行了测试。它运行没有错误,但没有返回任何内容。

我正在尝试返回一个包含 8 个元素且类型不同的数组。以下是该数组的元素和类型:

标题 - 字符串 LinkId - 整数 日期 - 整数 作者 - 字符串 内容 - 字符串 ID - 整数 图标 - 整数 已编辑 - 布尔值

函数 GetNews 将返回其中的 25 个数组(每页,输入是要获取哪一页结果的整数)。

我不知道如何序列化数组以便 SOAP 正确返回它。

这是我的 WSDL 文件的 URL:

http://api.infectionist.com/soap.wsdl

请帮帮我,我完全被卡住了。我看不出代码有什么问题,它在 PHP 和 Visual Studio 中运行没有错误,它只是返回一个空结果。

【问题讨论】:

    标签: c# php arrays soap service


    【解决方案1】:

    我猜你正试图从 PHP 中一次返回整个数组?如果是这样,您需要确保返回一个 XML 字符串。喜欢:

    <?php
    
    return '
        <data>
            <title>Actual title</title>
            <linkId>154278</linkId>
            ...
        </data>
    ';
    
    ?>
    

    您是否考虑过使用 JSON 字符串作为从 SOAP 服务器发送数据的替代方法?这将允许您在一个元素中拥有所需的所有元素,并保留以后添加/删除元素的灵活性(您需要将此通知您的客户)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      相关资源
      最近更新 更多