- 13, May 2024
- #1
Для клиента мне нужно использовать SOAP API.
Возникли реальные проблемы с этим и интересно, может ли кто-нибудь с этим помочь. Они предоставили пример мыльного вызова, который работает, но я не могу заставить свой код соответствовать этому примеру запроса.
Может кто-то указать мне верное направление? Пример SOAP-запроса
Возникли реальные проблемы с этим и интересно, может ли кто-нибудь с этим помочь. Они предоставили пример мыльного вызова, который работает, но я не могу заставить свой код соответствовать этому примеру запроса.
Может кто-то указать мне верное направление? Пример SOAP-запроса
$opts = array(
'http' => array(
'user_agent' => 'PHPSoapClient'
),
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$context = stream_context_create($opts);
$soapClientOptions = array(
'stream_context' => $context,
'cache_wsdl' => WSDL_CACHE_NONE,
'trace' => 1,
'soap_version' => SOAP_1_2,
'uri'=>'[URL='https://lumtu.com/yti/c8GG8cGVodHRwOi8vdzMub3JnLzIwMDMvMDUvc29hcC1lbnZlbZnb']http://www.w3.org/2003/05/soap-envelope[/URL]',
'style'=>SOAP_RPC,
'encoding'=>'UTF-8'
);
$client = new SoapClient($endpoint, $soapClientOptions);
$soapAuth = array( 'strUserName' => $username,
'strPassword' => $password
);
$header = new SoapHeader($endpoint, 'AuthSoapHeader', $soapAuth, false);
$result = $client->__soapCall('WS_CreateCard', array( 'WS_CreateCard' => array(
'WSID' => 'xxxx',
'IssCode' => 'xxxx'
)
) , NULL, $header);
Код (разметка): Мой код отправляет следующий запрос
<?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="xxxxxxx" xmlns:ns2="xxxxxx"> <env:Header> <ns2:AuthSoapHeader> <item> <key>strUserName</key> <value>xxxx</value> </item> <item> <key>strPassword</key> <value>xxxxxxx</value> </item> </ns2:AuthSoapHeader> </env:Header> <env:Body> <ns1:Ws_CreateCard> <ns1:WSID>xxxx</ns1:WSID> <ns1:IssCode>xxxxx</ns1:IssCode> </ns1:Ws_CreateCard> </env:Body> </env:Envelope>
Код (разметка): И это мой код
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:hyp="http://xxxxxxxxxx"> <soap:Header> <hyp:AuthSoapHeader> <hyp:strUserName>xxxxx</hyp:strUserName> <hyp:strPassword>xxxxxx</hyp:strPassword> </hyp:AuthSoapHeader> </soap:Header> <soap:Body> <hyp:Ws_CreateCard> <hyp:WSID>xxxx</hyp:WSID> <hyp:IssCode>xxx</hyp:IssCode> </hyp:Ws_CreateCard> </soap:Body> </soap:Envelope>
PHP: Есть идеи, где я ошибаюсь?
Спасибо