flexsim / flexnet-operations

用于连接 FlexNet Operations api 的软件包


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

这里应该放置您的描述。请限制为一到两段。考虑添加一个小的示例。

安装

您可以通过 composer 安装此软件包

composer require flexsim/flexnet-operations

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="flexnet-operations-config"

这是发布配置文件的内容

return [
];

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="flexnet-operations-views"

用法

$flexnetOperations = new Flexsim\FlexnetOperations();
echo $flexnetOperations->echoPhrase('Hello, Flexsim!');

类型生成

  1. 修复 wsdl 文件中的类型

    1. ProductPackagineService
      • featureBundlesListType - 在 "featureBundle" 属性中添加 minOccurs="0"
      • featuresListType - 在 "feature" 属性中添加 minOccurs="0"
      • getProductRelationshipsResponseType - 在 "relationship" 属性中添加 minOccurs="0"
    2. LicenseService
      • fulfillmentHistoryDetailsType - 在 "record" 属性中添加 minOccurs="0"
  2. 通过从基类型提取到子类型来在 wsdl 文件中规范化扩展类型

  3. 在这里通过 xml 到 json 工具运行 flexnet WSDL 文件: https://codebeautify.org/xmlviewer

客户端工厂生成

请确保客户端工厂像这样使用 BasicAuth 中间件

public static function factory(string $wsdl, string $username, string $password): EntitlementOrderServiceClient
{
    $engine = DefaultEngineFactory::create(
        ExtSoapOptions::defaults($wsdl, [])
            ->withClassMap(EntitlementOrderServiceClassmap::getCollection()),
        Psr18Transport::createForClient(
            new PluginClient(
                Psr18ClientDiscovery::find(),
                [
                    new AuthenticationPlugin(new BasicAuth($username, $password)),
                ]
            )
        )
    );
}

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全漏洞

请查阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。