Формат сообщения - остаток
@Data
public class OnlineBalance implements Serializable {
@JsonProperty(value = "code")
@SerializedName(value = "code")
@Expose
private String code;
@JsonProperty(value = "items")
@SerializedName(value = "items")
@Expose
private List<Item> items;
@Data
private static class Item {
@JsonProperty(value = "sku")
@SerializedName(value = "sku")
@Expose
private Long sku;
@JsonProperty(value = "qty")
@SerializedName(value = "qty")
@Expose
private Long qty;
}
}
Пример XML сообщения
<OnlineBalance>
<code>3002</code>
<items>
<item>
<sku>111111</sku>
<qty>2</qty>
</item>
<item>
<sku>22222</sku>
<qty>7</qty>
</item>
</items>
</OnlineBalance>
Пример 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>MAGENTO</jms>
<anchor>BALANCE-XML</anchor>
<jmsType>XML</jmsType>
<message><![CDATA[<OnlineBalance><code>3002</code><items><item><sku>111111</sku><qty>2</qty></item><item><sku>22222</sku><qty>7</qty></item></items></OnlineBalance>]]></message>
<persistent>true</persistent>
</ws:Producer>
</soapenv:Body>
</soapenv:Envelope>
- Producer - метод сервиса
- jmsMessagetype - тип очереди QUEUE
- jms - имя очереди
- anchor - селектор сообщения
- jmsType - тип сообщения XML
- message - XML сообщение
- persistent = true
Пример 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 текста запроса для получения информации по изменению остатков в формате JSON в шине данных или MAGENTO:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.erp/">
<soapenv:Header/>
<soapenv:Body>
<ws:ConsumerQueue>
<Queue>MAGENTO</Queue>
<anchor>BALANCE-JSON</anchor>
<timeout>100</timeout>
</ws:ConsumerQueue>
</soapenv:Body>
</soapenv:Envelope>
Пример xml текста ответа сервиса:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:ConsumerQueueResponse xmlns:ns2="http://ws.erp/">
<return>
<anchor>BALANCE-JSON</anchor>
<message>[{"code":"3002","items":[{"sku":111111,"qty":2},{"sku":22222,"qty":7}]}]</message>
</return>
</ns2:ConsumerQueueResponse>
</soap:Body>
</soap:Envelope>
Пример xml текста ответа сервиса, когда очередь пустая:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:ConsumerQueueResponse xmlns:ns2="http://ws.erp/">
<return/>
</ns2:ConsumerQueueResponse>
</soap:Body>
</soap:Envelope>
Пример JSON сообщения
[
{
"code": "3002",
"items": [
{
"sku": 111111,
"qty": 2
},
{
"sku": 22222,
"qty": 7
}
]
}
]
Пример 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>MAGENTO</jms>
<anchor>BALANCE-JSON</anchor>
<jmsType>JSON</jmsType>
<message>[{"code":"3002","items":[{"sku":111111,"qty":2},{"sku":22222,"qty":7}]}]</message>
<persistent>true</persistent>
</ws:Producer>
</soapenv:Body>
</soapenv:Envelope>
- Producer - метод сервиса
- jmsMessagetype - тип очереди QUEUE
- jms - имя очереди
- anchor - селектор сообщения
- jmsType - тип сообщения JSON
- message - JSON сообщение
- persistent = true
Пример 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>