Flexible Reflex E-Commerce

Flexible Reflex E-Commerce


Формирования почтовых сообщений из КАИС по заказам.



Общие сведения о сервисe.

Тип — SOAP. Авторизация — http базовая. Адрес WSDL описания
Формирование почтовых сообщений по заказам КАИС в формате CSV, XML, JSON для производителей и таможенных брокеров.


Конфигурация слушателя в системе REFLEX для формирования заказа в формате CSV.

    <bean class="erp.beans.ActiveMq.Listners.MqListenerQueue" init-method="runQueue" destroy-method="destroy">
        <property name="brokerURL" ref="failOver"/>
        <property name="queue" value="KMIS-ORDER"/>
        <property name="anchor" value="CSV"/>
        <property name="AClass" value="erp.Common.Labels.Order"/>
        <property name="method" value="processCsv"/>
        <property name="saveOrUpdate" value="false"/>
        <property name="router" value="false"/>
        <property name="xmlDateFormat" value="yyyy-MM-dd HH:mm:ss"/>
        <property name="jsonDateFormat" value="yyyy-MM-dd'T'HH:mm:ssZ"/>
        <property name="db">
            <value type="erp.beans.Db">snqmark</value>
        </property>
    </bean>

    Описание свойств:
  • brokerURL - брокер
  • queue - имя очереди
  • anchor - селектор
  • AClass - имя класса объекта
  • method - имя метода обработки входящего сообщения
  • xmlDateFormat - формат даты XML
  • jsonDateFormat - формат даты JSON
  • db - целевая БД


Конфигурация слушателя в системе REFLEX для формирования заказа в формате XML.

    <bean class="erp.beans.ActiveMq.Listners.MqListenerQueue" init-method="runQueue" destroy-method="destroy">
        <property name="brokerURL" ref="failOver"/>
        <property name="queue" value="KMIS-ORDER"/>
        <property name="anchor" value="XML"/>
        <property name="AClass" value="erp.Common.Labels.Order"/>
        <property name="method" value="processXml"/>
        <property name="saveOrUpdate" value="false"/>
        <property name="router" value="false"/>
        <property name="xmlDateFormat" value="yyyy-MM-dd HH:mm:ss"/>
        <property name="jsonDateFormat" value="yyyy-MM-dd'T'HH:mm:ssZ"/>
        <property name="db">
            <value type="erp.beans.Db">snqmark</value>
        </property>
    </bean>

Конфигурация слушателя в системе REFLEX для формирования заказа в формате JSON.

    <bean class="erp.beans.ActiveMq.Listners.MqListenerQueue" init-method="runQueue" destroy-method="destroy">
        <property name="brokerURL" ref="failOver"/>
        <property name="queue" value="KMIS-ORDER"/>
        <property name="anchor" value="JSON"/>
        <property name="AClass" value="erp.Common.Labels.Order"/>
        <property name="method" value="processJson"/>
        <property name="saveOrUpdate" value="false"/>
        <property name="router" value="false"/>
        <property name="xmlDateFormat" value="yyyy-MM-dd HH:mm:ss"/>
        <property name="jsonDateFormat" value="yyyy-MM-dd'T'HH:mm:ssZ"/>
        <property name="db">
            <value type="erp.beans.Db">snqmark</value>
        </property>
    </bean>



CXF web сервисы для работы с Apache ActiveMQ
    Методы:
  • ProducerMessage: - Отправить сообщение в очередь
  • ConsumerQueue —получить сообщение из очереди
  • ConsumerTopic — получить топик из очереди


Формат сообщения - заказ
@Data
public class Order implements Serializable {

    private Long kaisOrderId;
    private Collection<OrderDetail> orderDetails;
    private MvcSupp suppByIdsupp;

    @Data
    public static class OrderDetail {
        private Long sku;
        private Long qty;
    }
}
Пример XML сообщения
<Order>
<kaisOrderId>21188000</kaisOrderId>
<orderDetails>
    <orderDetails>
        <sku>443415000</sku>
        <qty>60</qty>
    </orderDetails>
    <orderDetails>
        <sku>443432000</sku>
        <qty>70</qty>
    </orderDetails>
    <orderDetails>
        <sku>443414000</sku>
        <qty>70</qty>
    </orderDetails>
    <orderDetails>
        <sku>443451000</sku>
        <qty>40</qty>
    </orderDetails>
</orderDetails>
<suppByIdsupp>
    <idsupp>421001</idsupp>
    <vsuppcode>435723</vsuppcode>
    <vsupp>Beijing Shangyitong Enterprise Management Services Limited</vsupp>
    <vsuppf>Beijing Shangyitong Enterprise Management Services Limited</vsuppf>
    <inn/>
</suppByIdsupp>
</Order>

Пример xml текста запроса для отправки почтового сообщения по заказу из КАИС в формате CSV:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Producer>
         <jmsMessagetype>QUEUE</jmsMessagetype>
         <jms>KMIS-ORDER</jms>
         <anchor>CSV</anchor>
         <jmsType>XML</jmsType>
         <message><![CDATA[<Order>
<kaisOrderId>21188000</kaisOrderId>
<orderDetails>
    <orderDetails>
        <sku>443415000</sku>
        <qty>60</qty>
    </orderDetails>
    <orderDetails>
        <sku>443432000</sku>
        <qty>70</qty>
    </orderDetails>
    <orderDetails>
        <sku>443420000</sku>
        <qty>50</qty>
    </orderDetails>
    <orderDetails>
        <sku>443451000</sku>
        <qty>40</qty>
    </orderDetails>
</orderDetails>
<suppByIdsupp>
    <idsupp>421001</idsupp>
    <vsuppcode>435723</vsuppcode>
    <vsupp>Beijing Shangyitong Enterprise Management Services Limited</vsupp>
    <vsuppf>Beijing Shangyitong Enterprise Management Services Limited</vsuppf>
    <inn/>
</suppByIdsupp>
</Order>]]></message>
         <persistent>true</persistent>
      </ws:Producer>
   </soapenv:Body>
</soapenv:Envelope>
  • Producer - метод сервиса
  • jmsMessagetype - тип очереди QUEUE
  • jms - имя очереди
  • anchor - селектор сообщения
  • jmsType - тип сообщения XML
  • message - XML сообщение
  • persistent = true

Тип почтового сообщения определяется селектором сооьщения. anchor=CSV - сообщение будет отправлено в формате CSV, anchor=XML - соответственно в XML, anchor=JSON - в формате JSON


Пример xml текста ответа сервиса:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:ProducerResponse xmlns:ns2="http://ws.erp/">
         <return>true</return>
      </ns2:ProducerResponse>
   </soap:Body>
</soap:Envelope>



Пример xml текста запроса для отправки почтового сообщения по заказу из КАИС в формате XML:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Producer>
         <jmsMessagetype>QUEUE</jmsMessagetype>
         <jms>KMIS-ORDER</jms>
         <anchor>XML</anchor>
         <jmsType>XML</jmsType>
         <message><![CDATA[<Order>...</Order>]]></message>
         <persistent>true</persistent>
      </ws:Producer>
   </soapenv:Body>
</soapenv:Envelope>

Пример xml текста запроса для отправки почтового сообщения по заказу из КАИС в формате JSON:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:Producer>
         <jmsMessagetype>QUEUE</jmsMessagetype>
         <jms>KMIS-ORDER</jms>
         <anchor>JSON</anchor>
         <jmsType>XML</jmsType>
         <message><![CDATA[<Order>...</Order>]]></message>
         <persistent>true</persistent>
      </ws:Producer>
   </soapenv:Body>
</soapenv:Envelope>





Просмотр истории ...