gpt4 book ai didi

php - 快速许可证管理器 Web 服务不接受请求

转载 作者:搜寻专家 更新时间:2023-10-31 21:57:49 24 4
gpt4 key购买 nike

我想使用 Quick License Manager连接电子商务 wordpress 插件的 SOAP 网络服务,使用户能够购买许可证并在成功购买后显示它。
所以现在,我正在尝试调用函数 GetProductInfo 来获取现有产品的信息我使用 QLM 管理控制台创建的产品。
我使用 SoapClient php 类,但是当我尝试发出请求时,我得到了这个响应:

Error validating request: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters. . Caller: GetProductInfo

我不明白我的请求有什么问题,所以我需要帮助...这是我使用的代码:

<?php 
$url = "https://quicklicensemanager.com/****/qlm/qlmservice.asmx";
$wsdl = $url . "?WSDL";
$soapClient = new SoapClient($wsdl, array(
"encoding" => "utf8",
"trace" => TRUE,
"version" => SOAP_1_1
));
$req = sprintf(
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<QlmSoapHeader xmlns="http://www.interactive-studios.net/qlmweb">
<CultureName>%s</CultureName>
<UtcOffset>%d</UtcOffset>
</QlmSoapHeader>
</soap:Header>
<soap:Body>
<GetProductInfo xmlns="http://www.interactive-studios.net/qlmweb">
<eProductName>%s</eProductName>
<productID>%d</productID>
<major>%d</major>
<minor>%d</minor>
</GetProductInfo>
</soap:Body>
</soap:Envelope>', "en_US", 0, "The IO plug-in: Student License", 4, 1, 0);
echo '<pre>';
print_r(htmlentities($req));
echo '</pre>';

$action = "http://www.interactive-studios.net/qlmweb/GetProductInfo";

$res = $soapClient->__doRequest($req, $url, $action, 1);

echo '<pre>';
print_r($res);
echo '</pre>';
echo "=======================================================";
echo '<pre>';
print_r(htmlentities($soapClient->__getLastRequest()));
echo '</pre>';
echo "=======================================================";
echo '<pre>';
print_r($soapClient->__getLastRequestHeaders());
echo '</pre>';

预先感谢您的帮助。

编辑现在我尝试更改字段 productID,但似乎是错误的那个字段。所以它需要是一个 base64 字符串,所以我更新了我的代码:
</soap:Envelope>', "en_US", 0, "The IO plug-in: Student License", 4, 1, 0);变成 </soap:Envelope>', "en_US", 0, base64_encode("The IO plug-in: Student License"), 4, 1, 0);

新的错误信息是:

Error validating request: Length of the data to decrypt is invalid.. Caller: GetProductInfo

最佳答案

经过几个小时的搜索,我在 documentation 中找到了这个,第 121 页:

Note that all the methods exposed by the web service cannot be called with a URL except GetActivationKey and ActivateKey. All other web methods implement a secure authentication mechanism that only accepts requests from the QLM Console.

因此,当我尝试调用 GetProductInfo 时,它无法在 QLM 控制台之外运行。

关于php - 快速许可证管理器 Web 服务不接受请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com