Magento / API SOAP doit Délimiter rue 1 rue et 2 pour des ventes
Question
Comme par l'API SOAP besoin de nous voulons à la rue dans la rue 1 délimitent et rue 2 champs pour résultat.
Je écrasent les méthodes de d'information de classe Mage_Sales_Model_Order_Api
public function info($orderIncrementId)
{
$result = parent::info($orderIncrementId);
$order = $this->_initOrder($orderIncrementId);
$streetLines = $order->getBillingAddress()->getStreet();
// unset($result['billing_address']['street']);
foreach ($streetLines as $i=>$line) {
$result['billing_address']['address_street'.($i+1)] = $line;
}
$streetLines1 = $order->getShippingAddress()->getStreet();
// unset($result['shipping_address']['street']);
foreach ($streetLines1 as $i=>$line) {
$result['shipping_address']['address_street'.($i+1)] = $line;
}
return $result;
}
Et aussi ajouté ci-dessous le code dans wsdl.xml du module personnalisé dans locale
<?xml version="1.0" encoding="UTF-8"?>
<definitions>
<types>
<schema>
<complexType name="salesOrderAddressEntity">
<all>
<element name="address_street1" type="xsd:string" minOccurs="0" />
<element name="address_street2" type="xsd:string" minOccurs="0" />
</all>
</complexType>
</schema>
</types>
</definitions>
En outre ci-dessous code wsi.xml dans le module personnalisé
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
name="{{var wsdl.name}}"
targetNamespace="urn:{{var wsdl.name}}">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
<xsd:complexType name="salesOrderAddressEntity">
<xsd:sequence>
<xsd:element name="address_street1" type="xsd:string" minOccurs="0" />
<xsd:element name="address_street2" type="xsd:string" minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
</wsdl:definitions>
Voici le code dans api2.xml:
<?xml version="1.0"?>
<config>
<api2>
<resources>
<order translate="title" module="api2">
<attributes module="api2">
<order_type>Order Type</order_type>
</attributes>
</order>
<order_address translate="title" module="api2">
<attributes translate=" address_street1 address_street2 " module="api2">
<address_street1>Street1</address_street1>
<address_street2>Street2</address_street2>
</attributes>
</order_address>
</resources>
</api2>
</config>
est tout ce que je dois modifier pour montrer que la rue et street1 street2 dans le résultat de la méthode API salesOrderInfo?
Si j'imprimer $ résultat dans info (), il montre street1 et les valeurs de champ street2 dans shipping_address et tableau billing_address, mais quand j'imprimer une réponse API SOAP alors il ne montre pas la valeur de ce.
La solution
Selon la description ci-dessus tout d'un coup, il fonctionne bien. Maintenant, il montre address_street1 & address_street2 en réponse de la méthode SalesOrderInfo Savon Api.
Je pense qu'il était question Caching.