SoapClient BankConnect

0

Cześć wszystkim!
Mam taki format zapytania do wsdl:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="urn:bph:cp:businessnet:bankconnect:Service.01" xmlns:urn="urn:swift:xsd:camt.003.001.04">
	<soapenv:Header/>
	<soapenv:Body>
		<ser:GetAccountBalanceRequest>
			<ser:Document>
				<urn:GetAcct>
					<urn:MsgId>
						<!--Identyfikator zapytania--><urn:Id>REQ_GAB_TEST_0001</urn:Id>
					</urn:MsgId>
					<urn:AcctQryDef>
						<urn:AcctCrit>
							19
							<urn:NewCrit>
								<urn:SchCrit>
									<urn:AcctId>
										<urn:EQ>
											<!--Numer rachunku--> <urn:BBAN>11249000050000460056039941</urn:BBAN>
										</urn:EQ>
									</urn:AcctId>
									<urn:Bal>
										<urn:BalTp>
											<!--Typ salda--> <urn:Cd>AVLB</urn:Cd>
										</urn:BalTp>
										<!--Wartość stała-->
										<urn:CtrPtyTp>MULT</urn:CtrPtyTp>
									</urn:Bal>
								</urn:SchCrit>
							</urn:NewCrit>
						</urn:AcctCrit>
					</urn:AcctQryDef>
				</urn:GetAcct>
			</ser:Document>
		</ser:GetAccountBalanceRequest>
	</soapenv:Body>
</soapenv:Envelope>

Muszę podać: MsgId->Id, EQ->BBAN oraz BalTp->Cd. Przesyłając te dane dostaję komunikat:

Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object has no 'Document' property

Jak ugryźć taką strukturę?
Będę wdzięczny za pomoc.

0

Sprawa rozwiązana.
Zamykam wątek! :)

0

Oto rozwiązanie, które działa:

$type = 'AVLB';
$params = array(
    'Document' => array(
                'GetAcct' => array(
                    'MsgId' => array(
                        'Id' => $uniqueId
                    ),
                    'AcctQryDef' => array(
                        'AcctCrit' => array(
                            'NewCrit' => array(
                                'SchCrit' => array(
                                    'AcctId' => array(
                                        'EQ' => array(
                                            'BBAN' => $bankAccountNumber
                                        )
                                    ),
                                    'Bal' => array(
                                        'BalTp' => array(
                                            'Cd' => $type 
                                        ),
                                        'CtrPtyTp' => 'MULT'
                                    )
                                )
                            )
                        )
                    )
                )
            )
);
$response = $soapClient->GetAccountBalance($params);
0

Hej, czy możesz wkleić cały kod jak realizujesz zapytanie ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1