首页>Magento>source

我正在尝试开发一个应用程序,我想在其中获取magento订单和客户详细信息。

我编写了以下代码来使用SOAP API:

   <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// require('vendor/zendframework/zend-server/src/Client.php');
// require('vendor/zendframework/zend-soap/src/Client.php');
// require('vendor/zendframework/zend-soap/src/Client/Common.php');
$wsdlurl = 'http://192.168.0.94/magento2/index.php/soap/default?wsdl&services=salesOrderRepositoryV1';
$token = 'rsgd11vmhelufr2a2jnk023bu0s3nk35';
$opts = ['http' => ['header' => "Authorization: Bearer ".$token]];
$context = stream_context_create($opts);
//$arguments =
$serviceArgs = array('searchCriteria'=> 
        array('filterGroups' => 
            array ('filters' =>
                array('field' =>'increment_id',
                      'value' => '000000002' , 
                      'condition_type' => 'eq')
                )
         )
);
$soapClient = new SoapClient($wsdlurl, ['version' => SOAP_1_2, 'context' => $context]);
// $soapClient->setSoapVersion(SOAP_1_2);
// $soapClient->setStreamContext($context);
$result = $soapClient->__getFunctions();
echo "<pre>"; print_r($result); 
?>

如果,我取消注释评论行,那么它就会罚款。但是,我想在Magento之外使用这段代码。

所以我不想使用未注释的代码。

通过使用上面的代码,我得到以下输出:

Array
(
    [0] => SalesOrderRepositoryV1GetResponse salesOrderRepositoryV1Get(SalesOrderRepositoryV1GetRequest $messageParameters)
    [1] => SalesOrderRepositoryV1GetListResponse salesOrderRepositoryV1GetList(SalesOrderRepositoryV1GetListRequest $messageParameters)
    [2] => SalesOrderRepositoryV1SaveResponse salesOrderRepositoryV1Save(SalesOrderRepositoryV1SaveRequest $messageParameters)
)

任何人都可以帮我从列表中使用此方法.我无法使用这种方法。如果有人有解决方案,请告诉我。

最新回答
  • 2019-12-5
    1 #

    我可以看到多行都被注释掉了,很难理解你特别想问哪些行.以下是我对最后两行注释的想法:

    // $soapClient->setSoapVersion(SOAP_1_2);
    // $soapClient->setStreamContext($context);
    

    我正在使用Magento CE 2.2.0.创建新的SoapClient对象时,请勿使用键"context".即使用户名,密码和令牌有效,它也会响应"未授权".而是使用"stream_context"作为键,并使用令牌将上下文对象存储在其值中。

    至少,这是我的情况,也许这对你的情况也有帮助。

    否则,请指定行和确切的问题,因为我可以看到__getFunctions端点正常工作。

  • view.phtml:如何更改magento库存中剩余商品的可用性?
  • magento2:如何使用magento 2中的对象管理器从前端删除产品?