首页 > 解决方案 > WSDL 和 Soap - 将 XML 作为字符串发送

问题描述

我有一个与 WSDL/Soap 一起工作的 php 服务器和客户端。问题是,服务器提供了一个请求字符串的函数,格式化为 XML,就像这样:

<values>
    <value>5</value>
    <value>3</value>
    ...
</values>

并返回一个简单的整数。我的问题是我不知道输入的 wsdl 类型应该如何,我实际上有这个:

<xsd:element name="values">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="value" type="xsd:string" maxOccurs="unbounded" minOccurs="3"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>

如果我在使用 Soap UI 进行手动测试时使用这种类型,只要我在 CDATA 部分中发送 xml 字符串,它就可以工作,但我需要以某种不需要的方式来执行它。

由于它是一个学校项目,我不能修改函数本身,只能修改 wsdl 文件。

我对此很陌生,任何帮助将不胜感激。谢谢!

编辑:我将添加 php 函数以防万一:

    function f_Max($n1){

    $xml = simplexml_load_string ($n1);

    $res = 0;
    $values = $xml->xpath('//value');
    foreach ($values as $item) {
        if ($item > $res)
            $res = (int)$item;
    }
    
    return $res;
    }

标签: soapwsdl

解决方案


推荐阅读