|   |   | 
| 
 | v7: Отправка документа в EDI | ☑ | ||
|---|---|---|---|---|
| 0
    
        maestro-72 24.02.16✎ 17:51 | 
        Народ, может кто сталкивался. Требуется отправить подтверждение заказа на EDI платформу: примерно так реализовано
 Парам="<?xml version=""1.0"" encoding=""utf-8""?> |<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope""> | <soap12:Body> | <Send xmlns=""http://www.comarch.com/""> | <Name>" + Login + "</Name> | <Password>" + Password + "</Password> | <PartnerIln>" + PartnerIln + "</PartnerIln> | <DocumentType>" + DocumentType + "</DocumentType> | <DocumentVersion>" + DocumentVersion + "</DocumentVersion> | <DocumentStandard>" + DocumentStandard + "</DocumentStandard> | <DocumentTest>" + DocumentTest + "</DocumentTest> | <ControlNumber>" + ControlNumber + "</ControlNumber> | <DocumentContent>" + DocumentContent + "</DocumentContent> | <Timeout>" + Timeout + "</Timeout> | </Send> | </soap12:Body> |</soap12:Envelope>"; url = "https://www.ecod.pl/webserv2/EDIservice.asmx?WSDL"; x = CreateObject("Microsoft.XMLHTTP"); x.Open("POST", url, 0); x.SetRequestHeader("Content-Type", "text/xml; charset=utf-8"); x.send(Парам); В DocumentContent содержится строка вида: <Document-OrderResponse><OrderResponse-Header><OrderResponseNumber>ПСР0019831</OrderResponseNumber><OrderResponseDate>2016-02-24</OrderResponseDate>..... После посылки приходит пустой ответ... Ничего не случается на платформе, при этом если воспользоваться сервисом EDIWebService и отправить туже скопированную строку DocumentContent то все прекрасно доходит до веб портала и документ появляется где надо. Непойму что не так. Может кто ткнет носом в ошибку?... | |||
| 1
    
        Serginio1 24.02.16✎ 17:55 | 
        У каждой EDI обычно есть .Net клиент для вэб или HTTP сервиса. Их можно использовать через Использование классов .Net в 1С для новичков     | |||
| 2
    
        totparen 24.02.16✎ 20:34 | 
        (0) Не могли бы поделиться парой десяткой файлов заказов на XML от COMARCH ?     | |||
| 3
    
        totparen 24.02.16✎ 20:36 | 
        Или это тот же самый корус?     | |||
| 4
    
        zippygrill 24.02.16✎ 20:57 | 
        (3) он самый)     | |||
| 5
    
        zippygrill 24.02.16✎ 20:57 | 
        мучал его тоже сегодня своими запросами     | |||
| 6
    
        zippygrill 24.02.16✎ 20:59 | 
        взяли бы пример у ФСРАРа как xsd схемы своих файлов создавать..     | |||
| 7
    
        maestro-72 25.02.16✎ 08:50 | 
        (2) Вот тут я не понял вопроса (3) Да, это действительно корус. А по существу вопроса чтото есть?     | |||
| 8
    
        maestro-72 25.02.16✎ 10:32 | 
        Если процедуре в качестве документа передавать пустое значение, то процедура отрабатывает правильно. Из этого можно сделать вывод, что передавать надо определенным образом закодированный XML. Т.е. как бы правильно выразится, чтобы запрос не принимал этот xml документ за свое тело. Как это сделать, есть у кого пример?     | |||
| 9
    
        maestro-72 25.02.16✎ 10:38 | 
        Вот тут ктото чтото похожее спрашивал, как сделал непонятно http://www.cyberforum.ru/xml-xsl/thread1439622.html     | |||
| 10
    
        Serginio1 25.02.16✎ 10:58 | 
        Берешь в руки фиддлер и сравниваешь     | |||
| 11
    
        Serginio1 25.02.16✎ 11:01 | 
        Кстати а подписывать документ разве не нужно?     | |||
| 12
    
        maestro-72 25.02.16✎ 11:46 | 
        (10) вот не совсем понял о чем речь     | |||
| 13
    
        Serginio1 25.02.16✎ 12:40 | ||||
| 14
    
        Serginio1 25.02.16✎ 12:49 | 
        Смотри вкладку inspectors и вкладки RAW итд     | |||
| 15
    
        maestro-72 25.02.16✎ 14:33 | 
        я тут подумал, наверное я неправильно сохраняю строку XML. Я делаю ПредставлениеXML. А надо как-то по другому. Скорее всего его надо сохранить в строку с кодировкой типа XMLencode, но как это сделать в 1с я не знаю...     | |||
| 16
    
        maestro-72 25.02.16✎ 14:34 | 
        (11) Подписывается счетфактура. Это можно сделать на портале. Или заморочится в 1с, но сначала надо документ на портал выгрузить...     | |||
| 17
    
        Serginio1 25.02.16✎ 14:37 | 
        (16) Фиддлер использовал? Сравнивал запросы?     | |||
| 18
    
        Serginio1 25.02.16✎ 14:38 | 
        Вообще у тебя вэб сервис. Используй 1. Наверняка есть примеры и библиотек.     | |||
| 19
    
        Serginio1 25.02.16✎ 14:39 | 
        Я сам для 7 ки использую. В том числе сериализацию десериализацию. Но с другим EDI     | |||
| 20
    
        maestro-72 25.02.16✎ 14:42 | 
        (18) Требуется время на изучение... Поверхностно пока просмотрел, мало что понял.     | |||
| 21
    
        Serginio1 25.02.16✎ 14:55 | 
        (20) Запросы сравнивал?     | |||
| 22
    
        maestro-72 25.02.16✎ 20:59 | 
        Короче документxml  надо кодировать (заменять знаки < и > на &iln; и т.д.) Тогда документ уходит без проблем. Кодировка достаточно простая, можно самому написать. Конечно хотелось бы иметь что-то встроенное, но я пока не нашел в 1с     | |||
| 23
    
        Serginio1 26.02.16✎ 10:26 | 
        Ну в .Net для этого есть HttpUtility.HtmlEncode
 врап=новый COMОбъект("NetObjectToIDispatch45"); HttpUtility=Врап.ПолучитьТипИзСборки("System.Web.HttpUtility","System.Web.dll"); СтрОриг = "<Document-OrderResponse><OrderResponse-"; Стр=HttpUtility.HtmlEncode(стрОриг); Сообщить(стр); | |||
| 24
    
        Serginio1 26.02.16✎ 10:27 | 
        Можно попробовать отправить через HTTPClient
 uriSources ="https://www.ecod.pl/webserv2/EDIservice.asmx?WSDL"; HttpClient=Врап.ПолучитьТипИзСборки("System.Net.Http.HttpClient","System.Net.Http.dll"); Клиент=Врап.СоздатьОбъект(HttpClient); Encoding=Врап.ПолучитьТип("System.Text.Encoding"); Контент=Врап.СоздатьОбъект("System.Net.Http.StringContent",СтрОриг, Encoding.UTF8, "application/xml"); резулт=Клиент.PostAsync(uriSources, Контент).Result; Сообщить(резулт.IsSuccessStatusCode); Сообщить(Врап.Встроку(резулт.StatusCode)); Сообщить(резулт.Content.ReadAsStringAsync().Result); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |