Mule:Magento 连接器:获取产品操作错误

问题描述 投票:0回答:1

我试图使用 GET-Product 操作通过 mule 中的 Magneto 连接器从 Magneto 获取产品信息,但我收到此错误:

Product not exists
即使通过 SOAP UI 进行了测试并且工作完美。 经过长时间的搜索,我发现了这个问题:

  • 通过 SOAP UI 请求:

    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:Magento" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
       <soapenv:Header/>
       <soapenv:Body>
          <urn:catalogProductInfo soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
             <sessionId xsi:type="xsd:string"/>
             <productId xsi:type="xsd:string"/>
             <storeView xsi:type="xsd:string"></storeView>
             <attributes xsi:type="urn:catalogProductRequestAttributes">
                <attributes xsi:type="urn:ArrayOfString" soapenc:arrayType="xsd:string[]">
                 </attributes>
             <additional_attributes xsi:type="urn:ArrayOfString" soapenc:arrayType="xsd:string[]">
                </additional_attributes>
             </attributes>
             <identifierType xsi:type="xsd:string"/>
         </urn:catalogProductInfo>
      </soapenv:Body>
    </soapenv:Envelope>
    
  • 通过磁力连接器请求:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <soapenv:Body>
          <ns1:catalogProductInfo xmlns:ns1="urn:Magento" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
             <sessionId xsi:type="xsd:string"></sessionId>
             <product xsi:type="xsd:string"></product>
             <storeView xsi:type="xsd:string" xsi:nil="true"/>
             <attributes href="#id0"/>
             <productIdentifierType xsi:type="xsd:string"></productIdentifierType>
         </ns1:catalogProductInfo>
       <multiRef xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:Magento" id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:catalogProductRequestAttributes">
        <attributes soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array">
         <attributes xsi:type="xsd:string"></attributes>
        </attributes>
        <additional_attributes soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array"/>
      </multiRef>
     </soapenv:Body>
    </soapenv:Envelope>
    

差异在于

<product>/<productId>
标签。

关于如何修复有什么想法吗?

magento soap mule anypoint-studio magento-soap-api
1个回答
0
投票

发现问题:它位于magento连接器文件的magento_v2_soap.wsdl中,其中

catalogProductInfoRequest
中的
<part name="product" type="xsd:string"/>
需要更改为
<part name="productId" type="xsd:string"/>
我已在gitHub中进行了更改,但我没有写访问...所以我所做的就是将更改下载并安装在 mule 中。

© www.soinside.com 2019 - 2024. All rights reserved.