|
[Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Сообщения, отправленные пользователем: Залкинд Дмитрий
Индекс форума » Профиль для Залкинд Дмитрий » Сообщения, отправленные пользователем Залкинд Дмитрий
Автор Сообщение
Добрый день.
Получаю список ВСД при помощи запроса getVetDocumentChangesList, формирую у себя список ТТН по полученным документам, отправляю по ним запрос processIncomingConsignment для получения StockEntityGUID и StockEntityUUID.
Вот запрос:
<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://api.vetrf.ru/schema/cdm/application/ws-definitions" xmlns:app="http://api.vetrf.ru/schema/cdm/application" xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/applications" xmlns:base="http://api.vetrf.ru/schema/cdm/base" xmlns:com="http://api.vetrf.ru/schema/cdm/argus/common" xmlns:ent="http://api.vetrf.ru/schema/cdm/cerberus/enterprise" xmlns:ikar="http://api.vetrf.ru/schema/cdm/ikar" xmlns:vet="http://api.vetrf.ru/schema/cdm/mercury/vet-document" xmlns:prod="http://api.vetrf.ru/schema/cdm/argus/production" xmlns:shp="http://api.vetrf.ru/schema/cdm/argus/shipment" xmlnss="http://www.w3.org/2001/XMLSchema">
<soapenv:Header />
- <soapenv:Body>
- <ws:submitApplicationRequest>
<ws:apiKey>ZDc5YTNiYmItMjk1MC00N2RiLWExNmMtNzVmMDRjZmU4MTQyYTA2YTljNDAtZGI5Ny00Yzc4LWFkNWMtMzYyYjE3ZjY0NDVj</ws:apiKey>
- <app:application>
<app:serviceId>mercury-g2b.service</app:serviceId>
<app:issuerId>a06a9c40-db97-4c78-ad5c-362b17f6445c</app:issuerId>
<app:issueDate>2017-08-15T18:51:06</app:issueDate>
- <app:data>
- <merc:processIncomingConsignmentRequest>
<merc:localTransactionId>TTN2017-000203301</merc:localTransactionId>
- <merc:initiator>
<com:login>perelygina-an-170310</com:login>
</merc:initiator>
- <merc:delivery>
<vet:deliveryDate>0100-01-01T00:00:00</vet:deliveryDate>
- <vet:consignor>
- <ent:businessEntity>
<base:guid>a06a9c40-db97-4c78-ad5c-362b17f6445c</base:guid>
</ent:businessEntity>
- <ent:enterprise>
<base:guid>3acff758-6cf0-4bbe-a6db-51ee46440cb6</base:guid>
</ent:enterprise>
</vet:consignor>
- <vet:consignee>
- <ent:businessEntity>
<base:guid>2362faa4-d97c-406a-8068-c65cebc70480</base:guid>
</ent:businessEntity>
- <ent:enterprise>
<base:guid>3acff758-6cf0-4bbe-a6db-51ee46440cb6</base:guid>
</ent:enterprise>
</vet:consignee>
- <vet:consignment>
<vet:productType>1</vet:productType>
- <vet:product>
<base:uuid>106cf501-517c-4cb6-a422-b8ff122100c2</base:uuid>
</vet:product>
- <vet:subProduct>
<base:uuid>33383857-5fa9-5387-8f93-c0ffb59f8a48</base:uuid>
</vet:subProduct>
- <vet:productItem>
<prod:name>КОЛБАСКИ С/К ПИКОЛИНИ СО ВКУСОМ ПАРМЕЗАНА 50Г</prod:name>
</vet:productItem>
<vet:volume>0.1</vet:volume>
- <vet:unit>
<base:uuid>069795e8-053d-11e1-99b4-d8d385fbc9e8</base:uuid>
</vet:unit>
- <vet:packingList>
- <com:packingForm>
<base:uuid>069792f0-053d-11e1-99b4-d8d385fbc9e8</base:uuid>
</com:packingForm>
</vet:packingList>
<vet:packingAmount>1</vet:packingAmount>
- <vet:dateOfProduction>
- <vet:firstDate>
<base:year>2017</base:year>
<base:month>05</base:month>
<base:day>03</base:day>
<base:hour>00</base:hour>
</vet:firstDate>
</vet:dateOfProduction>
- <vet:expiryDate>
- <vet:firstDate>
<base:year>2017</base:year>
<base:month>08</base:month>
<base:day>31</base:day>
<base:hour>00</base:hour>
</vet:firstDate>
</vet:expiryDate>
<vet:perishable>false</vet:perishable>
- <vet:countryOfOrigin>
<base:uuid>72a84b51-5c5e-11e1-b9b7-001966f192f1</base:uuid>
<base:guid>74a3cbb1-56fa-94f3-ab3f-e8db4940d96b</base:guid>
</vet:countryOfOrigin>
- <vet:producerList>
- <ent:producer>
- <ent:enterprise>
<base:guid>71541a89-8949-4d55-820d-e2777c5e063d</base:guid>
</ent:enterprise>
<ent:role>PRODUCER</ent:role>
</ent:producer>
</vet:producerList>
<vet:lowGradeCargo>false</vet:lowGradeCargo>
- <vet:owner>
<base:guid>2362faa4-d97c-406a-8068-c65cebc70480</base:guid>
</vet:owner>
<vet:productName>КОЛБАСКИ С/К ПИКОЛИНИ СО ВКУСОМ ПАРМЕЗАНА 50Г</vet:productName>
<vet:productCode>UT-00000327</vet:productCode>
</vet:consignment>
- <vet:accompanyingForms>
- <vet:waybill>
<shp:issueSeries />
<shp:issueNumber>TTN2017-0002033</shp:issueNumber>
<shp:issueDate>2017-08-15</shp:issueDate>
<shp:type>1</shp:type>
- <shp:transportInfo>
<shp:transportType>1</shp:transportType>
- <shp:transportNumber>
<shp:vehicleNumber>223344</shp:vehicleNumber>
</shp:transportNumber>
</shp:transportInfo>
<shp:transportStorageType>CHILLED</shp:transportStorageType>
</vet:waybill>
- <vet:vetCertificate>
<base:uuid>8acfa451-f679-4446-87a9-4e40230a0fed</base:uuid>
</vet:vetCertificate>
</vet:accompanyingForms>
</merc:delivery>
- <merc:deliveryFacts>
<vet:vetCertificatePresence>ELECTRONIC</vet:vetCertificatePresence>
- <vet:docInspection>
- <vet:responsible>
<com:login>perelygina-an-170310</com:login>
</vet:responsible>
<vet:result>CORRESPONDS</vet:result>
</vet:docInspection>
- <vet:vetInspection>
- <vet:responsible>
<com:login>perelygina-an-170310</com:login>
</vet:responsible>
<vet:result>CORRESPONDS</vet:result>
</vet:vetInspection>
<vet:decision>ACCEPT_ALL</vet:decision>
</merc:deliveryFacts>
</merc:processIncomingConsignmentRequest>
</app:data>
</app:application>
</ws:submitApplicationRequest>
</soapenv:Body>
</soapenv:Envelope>

Получаю отлуп:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
<application xmlns="http://api.vetrf.ru/schema/cdm/application">
<applicationId>c6ba6c21-8990-46d4-94c6-e8a8758088a6</applicationId>
<status>REJECTED</status>
<serviceId>mercury-g2b.service</serviceId>
<issuerId>a06a9c40-db97-4c78-ad5c-362b17f6445c</issuerId>
<issueDate>2017-08-15T18:51:05.000+03:00</issueDate>
<rcvDate>2017-08-15T18:51:05.000+03:00</rcvDate>
<prdcRsltDate>2017-08-15T18:51:05.000+03:00</prdcRsltDate>
<errors>
<apl:error code="MERC14016" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">В сведениях о принимаемой партии продукция с указанным идентификатором не найдена в реестре РСХН, либо идентификатор не соответствует установленному формату.</apl:error>
<apl:error code="MERC14014" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">В сведениях о принимаемой партии упаковка с указанным идентификатором не найдена в реестре РСХН, либо идентификатор не соответствует установленному формату.</apl:error>
</errors>
</application>
</receiveApplicationResultResponse>
</env:Body>
</env:Envelope>

Не очень понятно, что именно является идентификатором партии, и как оно может не быть в реестре, если эти данные получены с портала же? Просьба помочь разобраться.

Пробовал валидацию в SoapUI, валидатор вообще ругается на название метода merc:processIncomingConsignmentRequest, что в нэймспейсе такого нет.
Алексей Тимофеев wrote:
Техподдержка получает просто бесконечное количество подобных вопросов. Чтобы сэкономить друг другу время, просьба валидируйте XML по схеме. Это можно сделать, например, с помощью SoapUI или любым другим XML-редактором.
Конкретно в данном случае ошибка в следующем. Application data, т.е. то, что находится внутри тэга <data> заявки, не распознано шлюзом. Т.е. или пространство имён или наименование корневого элемента для содержимого заявки указано некорректно.
Имеем в запросе корневой элемент {http://api.vetrf.ru/schema/cdm/mercury/applications}prepareOutgoingConsignmentRequest, сервис <app:serviceId>mercury-g2b.service</app:serviceId>, т.е. версия форматов 1.4 (по умолчанию). В ХSD для версии 1.4 (http://api.vetrf.ru/schema/platform/mercury/g2b/applications_v1.4.xsd) нет элемента prepareOutgoingConsignmentRequest, корректное название -- prepareOutcomingConsignmentRequest.


Большое спасибо за ответ.
Добрый день.
Может быть, кто-нибудь из разработчиков сможет помочь?
Отправляю запрос:

<?xml version="1.0" encoding="UTF-8" ?>
- <soapenv:Envelope xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary" xmlnss="http://www.w3.org/2001/XMLSchema" xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document" xmlns:ws="http://api.vetrf.ru/schema/cdm/application/ws-definitions" xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/applications" xmlns:app="http://api.vetrf.ru/schema/cdm/application" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header />
- <soapenv:Body>
- <ws:submitApplicationRequest>
<ws:apiKey>ZDc5YTNiYmItMjk1MC00N2RiLWExNmMtNzVmMDRjZmU4MTQyYTA2YTljNDAtZGI5Ny00Yzc4LWFkNWMtMzYyYjE3ZjY0NDVj</ws:apiKey>
- <app:application>
<app:serviceId>mercury-g2b.service</app:serviceId>
<app:issuerId>a06a9c40-db97-4c78-ad5c-362b17f6445c</app:issuerId>
<app:issueDate>2017-08-05T15:21:10</app:issueDate>
- <app:data>
- <merc:prepareOutgoingConsignmentRequest>
<merc:localTransactionId>TTN2017-000203279</merc:localTransactionId>
- <merc:initiator>
<dt:login>perelygina-an-170310</dt:login>
</merc:initiator>
- <merc:delivery>
<vd:deliveryDate>2017-08-04T15:49:00</vd:deliveryDate>
- <vd:consignor>
- <dt:businessEntity>
<bs:guid>a06a9c40-db97-4c78-ad5c-362b17f6445c</bs:guid>
<bs:uuid>f012fa20-325c-4a8a-812e-4e9b88df3987</bs:uuid>
</dt:businessEntity>
- <dt:enterprise>
<bs:guid>3acff758-6cf0-4bbe-a6db-51ee46440cb6</bs:guid>
<bs:uuid>3b4e1825-80f4-440d-91c5-e7cbbda3bbe5</bs:uuid>
</dt:enterprise>
<dt:globalID>9863524740194</dt:globalID>
</vd:consignor>
- <vd:consignee>
- <dt:businessEntity>
<bs:guid>fde895e7-218a-11e2-a69b-b499babae7ea</bs:guid>
<bs:uuid>00687e1b-0479-4fe1-a2a7-ab03812a8830</bs:uuid>
</dt:businessEntity>
- <dt:enterprise>
<bs:guid>bcb04861-42d0-4cf7-b7c8-b20e670a48c0</bs:guid>
<bs:uuid>cc6a757c-55ca-42a1-bdbe-0870b5aa92e5</bs:uuid>
</dt:enterprise>
<dt:globalID>9863525440260</dt:globalID>
</vd:consignee>
- <vd:consignment id="fc008815">
<vd:volume>11</vd:volume>
- <vd:unit>
<bs:guid>4a55ffa0-b0a6-4ba5-a841-c0333fcd056b</bs:guid>
<bs:uuid>069795e8-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
<vd:batchID>fc008815</vd:batchID>
</vd:unit>
- <vd:origin>
- <vd:productItem>
<bs:uuid>9ba584b4-ad4c-4002-85fc-91c4ee6a2e42</bs:uuid>
<bs:guid>8dd8d2c7-ccdb-4ad0-a4e8-7d27d9f490d9</bs:guid>
<dt:globalID />
<dt:name>СОСИСКИ ДЫМОВ МОЛОЧНЫЕ ГОСТ 300Г</dt:name>
<dt:code>UT-00001300</dt:code>
- <dt:packaging>
- <dt:packagingType>
<bs:uuid>069795e8-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
<dt:globalID>4H</dt:globalID>
<dt:name>Коробка</dt:name>
</dt:packagingType>
<dt:quantity>11</dt:quantity>
<dt:volume>74250</dt:volume>
- <dt:unit>
<bs:guid>4a55ffa0-b0a6-4ba5-a841-c0333fcd056b</bs:guid>
<bs:uuid>069795e8-053d-11e1-99b4-d8d385fbc9e8</bs:uuid>
</dt:unit>
</dt:packaging>
</vd:productItem>
</vd:origin>
<vd:lowGradeCargo>false</vd:lowGradeCargo>
- <vd:packageList>
- <vd:package>
<vd:level>3</vd:level>
- <vd:packingType>
<dt:globalID>4H</dt:globalID>
</vd:packingType>
<vd:quantity>11</vd:quantity>
<vd:productMarks class="UNDEFINED">fc008815</vd:productMarks>
</vd:package>
</vd:packageList>
- <vd:sourceStockEntry>
<bs:uuid>0f76557d-0d60-4147-92b6-3b208a0bc1e3</bs:uuid>
<bs:guid>5279d496-a2e4-49a4-9744-5abb0a267cb0</bs:guid>
</vd:sourceStockEntry>
</vd:consignment>
- <vd:transportInfo>
<vd:transportType>1</vd:transportType>
- <vd:transportNumber>
<vd:vehicleNumber />
</vd:transportNumber>
</vd:transportInfo>
<vd:transportStorageType>FROZEN</vd:transportStorageType>
- <vd:accompanyingForms>
- <vd:waybill for="fc008815">
<vd:issueSeries />
<vd:issueNumber>TTN2017-0002032</vd:issueNumber>
<vd:issueDate>0100-01-01</vd:issueDate>
<vd:type>1</vd:type>
</vd:waybill>
- <vd:vetCertificate for="fc008815">
- <vd:authentication>
- <vd:purpose>
<bs:uuid>b0263721-e974-40db-9153-1dc44746a788</bs:uuid>
<bs:guid>5b90da1b-e089-11e1-bcf3-b499babae7ea</bs:guid>
</vd:purpose>
<vd:cargoInspected>true</vd:cargoInspected>
<vd:cargoExpertized>true</vd:cargoExpertized>
<vd:locationProsperity>местность благополучна</vd:locationProsperity>
<vd:specialMarks>все в норме</vd:specialMarks>
</vd:authentication>
</vd:vetCertificate>
</vd:accompanyingForms>
</merc:delivery>
</merc:prepareOutgoingConsignmentRequest>
</app:data>
</app:application>
</ws:submitApplicationRequest>
</soapenv:Body>
</soapenv:Envelope>

Ответ приходит, что статус "ACCEPTED", и applicationID.

А при попытке получить результаты запроса через receiveApplicationResultRequest возвращается вот такая штука:

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<receiveApplicationResultResponse xmlns="http://api.vetrf.ru/schema/cdm/application/ws-definitions">
<application xmlns="http://api.vetrf.ru/schema/cdm/application">
<applicationId>91c9d9c1-2475-4ea7-bad8-2e75fc3a1b4c</applicationId>
<status>REJECTED</status>
<serviceId>mercury-g2b.service</serviceId>
<issuerId>a06a9c40-db97-4c78-ad5c-362b17f6445c</issuerId>
<issueDate>2017-08-05T15:21:10.000+03:00</issueDate>
<rcvDate>2017-08-05T15:21:29.000+03:00</rcvDate>
<prdcRsltDate>2017-08-05T15:21:29.000+03:00</prdcRsltDate>
<errors>
<apl:error code="APLM0002" xmlns:apl="http://api.vetrf.ru/schema/cdm/application">Unsupported application data format</apl:error>
</errors>
</application>
</receiveApplicationResultResponse>
</env:Body>
</env:Envelope>

Вопрос: что именно я делаю не так, и формат ЧЕГО не нравится парсеру?
Добрый день.

Делаю для клиента взаимодействие системы управления складом с "Меркурием" через API. Логин и пароль клиент предоставил, но совершенно непонятно, куда их вставлять в HTTP-запросе, в частности, в запросе getAllCountryList.
Буду ЧРЕЗВЫЧАЙНО благодарен за помощь.
 
Индекс форума » Профиль для Залкинд Дмитрий » Сообщения, отправленные пользователем Залкинд Дмитрий
Перейти:   

Powered by JForum 2.1.8 © JForum Team