使用PHP将数据发布到SOAP API

时间:2019-01-07 16:41:16

标签: php soap

我希望您能提供有关如何将以下数据发布到soap端点的解决方案的帮助,我习惯于json,我希望json格式的输出。请帮忙。谢谢

<?xml version="1.0" encoding="UTF- 
    8"?>
<soapenv:Envelope 


xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cib="http://com.xxxxx.com/custom/cibupload" xmlns:cib1="http://xxx.xxx.org/xxx/07/CIBUploadService.Models">
<soapenv:Header />
<soapenv:Body>
    <cib:SendRequest>
        <!--Optional:-->
        <cib:data>
            <!--Optional:-->
            <cib1:BulkDebitReference>?</cib1:BulkDebitReference>
            <!--Optional:-->
            <cib1:ClientInfo>
                <!--Optional:-->
                <cib1:CompanyCode>CIB001484</cib1:CompanyCode>
                <!--Optional:-->
                <cib1:Password>pass*145%83078</cib1:Password>
                <!--Optional:-->
                <cib1:UserID>test_user</cib1:UserID>
            </cib1:ClientInfo>
            <!--Optional:-->
            <cib1:MAC />
            <!--Optional:-->
            <cib1:TransactionRequest>
                <!--Zero or more repetitions:-->
                <cib1:Transaction>
                    <!--Optional:-->
                    <cib1:Amount>2000</cib1:Amount>
                    <!--Optional:-->
                    <cib1:BeneficiaryAccount>1020047624</cib1:BeneficiaryAccount>
                    <!--Optional:-->
                    <cib1:BeneficiaryAddress />
                    <!--Optional:-->
                    <cib1:BeneficiaryBankCode>057</cib1:BeneficiaryBankCode>
                    <!--Optional:-->
                    <cib1:BeneficiaryBankSortCode />
                    <!--Optional:-->
                    <cib1:BeneficiaryCategory />
                    <!--Optional:-->
                    <cib1:BeneficiaryCode />
                    <!--Optional:-->
                    <cib1:BeneficiaryEmail />
                    <!--Optional:-->
                    <cib1:BeneficiaryMobile />
                    <!--Optional:-->
                    <cib1:BeneficiaryName>JOHN UBAH</cib1:BeneficiaryName>
                    <!--Optional:-->
                    <cib1:BeneficiaryPhone />
                    <!--Optional:-->
                    <cib1:ContractDate />
                    <!--Optional:-->
                    <cib1:ContractNo />
                    <!--Optional:-->
                    <cib1:DebitAccount>2020076821</cib1:DebitAccount>
                    <!--Optional:-->
                    <cib1:DebitAccountName />
                    <!--Optional:-->
                    <cib1:DebitCurrency>NGN</cib1:DebitCurrency>
                    <!--Optional:-->
                    <cib1:InvoiceNumber />
                    <!--Optional:-->
                    <cib1:PaymentCurrency />
                    <!--Optional:-->
                    <cib1:PaymentMethod />
                    <!--Optional:-->
                    <cib1:PaymentType />
                    <!--Optional:-->
                    <cib1:Payment_Due_Date>07/01/2019</cib1:Payment_Due_Date>
                    <!--Optional:-->
                    <cib1:TransactionRef>CIB/MONU/BD/1873</cib1:TransactionRef>
                </cib1:Transaction>
            </cib1:TransactionRequest>
            <!--Optional:-->
            <cib1:UseSingleDebitMultipleCredit>false</cib1:UseSingleDebitMultipleCredit>
        </cib:data>
    </cib:SendRequest>
</soapenv:Body>

  

Blockquote

以上是请求的XML版本,因为我尝试使用json经验与请求进行通信,但它并没有真正的帮助,因为我仍处于工程师级别。

1 个答案:

答案 0 :(得分:0)

您应该首先查看http://php.net/manual/en/class.soapclient.php上的本机PHP SoapClient类。尝试了解其工作原理。

由于您似乎有一个非常复杂的请求,因此我建议您使用WSDL to PHP生成器。它使您可以使用更好,更轻松的完整OOP方法。尝试https://github.com/WsdlToPhp/PackageGenerator项目,它将简化使用PHP对象进行的请求构造和请求处理。