PHP肥皂和.Net数据集

时间:2015-02-06 10:56:59

标签: php .net web-services soap dataset

我在这里遇到了一个问题。我正在尝试向Web Appi发出请求:http://www.speedex.gr/getvoutrans/getvoutrans.asmx?WSDL

我正在发送insertPodData();

的请求

我正在使用PHP和SOAP。 我在连接和提供正确的凭据方面取得了成功。但是我无法发送数据集(因为我不知道正确的方法),所以我得到一个空的数据集。

数据集适用于.NET语言。所以这对php来说有点棘手。

我已经尝试将其作为数组发送,我仍然得到一个空的结果。

这是一些编码。

PHP:

$dataset = array(
                'schema' => array(
                    'Enter_Branch_Id' => $speedex_branch_id,
                    'SND_Customer_Id' => $speedex_cust_id,
                    'SND_Agreement_Id' => $speedex_appi_key,
                    'RCV_Name' => 'Test',
                    'RCV_Addre1' => 'Test Adress',
                    'RCV_Zip_Code' => '54636',
                    'RCV_City' => 'Thessaloniki',
                    'RCV_Country' => 'Greece',
                    'RCV_Tel1' => '*******',
                    'Voucher_Weight' => '0',                
                ),
                'any' => ''
            );

        try {
            $soap = new SoapClient("http://www.speedex.gr/getvoutrans/getvoutrans.asmx?WSDL",array('trace' => true));
            $oAuthResult = $soap->insertPodData(
                array(
                    'username' => $speedex_usrn,
                    'password' => $speedex_psw,
                    'VoucherTable' => $dataset,
                    '_tableFlag' => 3
                )
            );
            $resultVoucher = $oAuthResult;
            print_r($resultVoucher);
            echo '<br>';
            echo "REQUEST:\n" . htmlentities($soap->__getLastRequest()) . "\n";
            die();
            }catch(SoapFault $fault) {
                die('<h1>Ooooops something is broken. Refresh or contact module creator </h1><br>'.$fault);
            }

这是返回此结果

RESULT: stdClass Object ( [insertPodDataResult] => 1 [newVoucherTable] => stdClass Object ( [schema] => [any] => ) ) 
REQUEST: 
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://tempuri.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
        <ns1:insertPodData>
            <ns1:username>****</ns1:username>
            <ns1:password>****</ns1:password>
            <ns1:VoucherTable>********************TestTest Adress54636ThessalonikiGreece********</ns1:VoucherTable>
            <ns1:_tableFlag>3</ns1:_tableFlag>
        </ns1:insertPodData>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

正如您所看到的那样,未创建数据集,并且所有值都是在没有引用的情况下传递的。

任何想法线索?提前谢谢!

0 个答案:

没有答案