如何在PHP中制作肥皂请求

I need to generate SOAP request in PHP with below SOAP structure:

<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="https://.../CardBalance">
<s:element name="HelloWorld">
<s:complexType/>
</s:element>
<s:element name="HelloWorldResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SecureLogin">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userProp" type="tns:UserProp"/>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:SecureLogin"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="UserProp">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
</s:sequence>
</s:complexType>
<s:complexType name="SecureLogin">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="memberID" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="cardNumber" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="guid" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="page" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" default="" name="Population" type="s:string"/>
</s:sequence>
</s:complexType>
<s:element name="SecureLoginResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SecureLoginResult" type="tns:DTS_Response"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="DTS_Response">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="response_Status" type="tns:Response_Status"/>
<s:element minOccurs="1" maxOccurs="1" name="errorCode" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="errorDescription" type="s:string"/>
</s:sequence>
</s:complexType>
<s:simpleType name="Response_Status">
<s:restriction base="s:string">
<s:enumeration value="Success"/>
<s:enumeration value="Failure"/>
<s:enumeration value="NotAvailable"/>
<s:enumeration value="GlobalException"/>
</s:restriction>
</s:simpleType>
<s:element name="SecureLoginMethod">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="userProp" type="tns:UserProp"/>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:SecureLogin"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="SecureLoginMethodResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SecureLoginMethodResult" type="tns:DTS_Response"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="string" nillable="true" type="s:string"/>
</s:schema>
</wsdl:types>

How can I do that? I tried with:

        <?php  
        ini_set('soap.wsdl_cache_enabled',0); // disabling WSDL cache
        ini_set('soap.wsdl_cache_ttl',0);
        $wsdl_path = "https://.../CARDBALANCE/CB_WS.ASMX?WSDL";

        $client = new SoapClient($wsdl_path, array('trace' => 1, 'exception' => 1));


$res = $client->SecureLogin(array("UserProp"=>array("userName"=>"?","password"=>"?"),"request"=>array("memberID"=>"?","cardNumber"=>"?","guid"=>"?","page"=>1)));

    echo '<br /><br />';

    echo  htmlentities ($client->__getLastRequest());


    try {  
        echo "<pre>
";  
        var_dump($res->SecureLoginResult);  
        echo "
</pre>
";
    }
    catch (SoapFault $exception) {  
        echo $exception;        
    } 

        ?>

But I am getting Fatal Error:

Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Object reference not set to an instance of an object. in /var/www/u0109499/data/www/yakosmetolog.ru/soap.php:48 Stack trace: #0 /var/www/u0109499/data/www/yakosmetolog.ru/soap.php(48): SoapClient->__call('SecureLogin', Array) #1 /var/www/u0109499/data/www/yakosmetolog.ru/soap.php(48): SoapClient->SecureLogin(Array) #2 {main} thrown in /var/www/u0109499/data/www/yakosmetolog.ru/soap.php on line 48

How can I request that message correctly in PHP? Thanks for any help.

See if this answer helps you as well. Generally, the expectation on SO is that you look for similar previous questions and - if they exist - use them or explain why they don't match your situation.

SOAP request by PHP