Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Торг 12 #239

Open
jedforg opened this issue Oct 12, 2021 · 4 comments
Open

Торг 12 #239

jedforg opened this issue Oct 12, 2021 · 4 comments

Comments

@jedforg
Copy link

jedforg commented Oct 12, 2021

Здравствуйте.
Не получается отправить накладную Торг 12 сформированную ERP. Счет фактура успешно отправляется.
Делаю через Rest API. Запрос к API выполняется сервлетом пот управлением Galssfish. Перепробовал разные варианты во всех случаях получаю код 400.
Код
private static boolean sendDoc2(String naclDoc) {
try {
String g = "https://diadoc-api.kontur.ru/V3/PostMessage";

        JsonObjectBuilder jb = Json.createObjectBuilder();
        jb.add("FromBoxId", boxID);
        jb.add("ToBoxId", boxIDClient);
        jb.add("DocumentAttachments", Json.createArrayBuilder().
                add(Json.createObjectBuilder().
                        add("SignedContent", Json.createObjectBuilder().
                                add("Content", Base64.getEncoder().encodeToString(naclDoc.getBytes())).
                                add("Signature", ""))
                        .
                        add("TypeNamedId", "XmlTorg12").
                        add("Function", "default").
                        add("Version", "utd820_05_01_02_hyphen").
                        add("IndexTitle", "0")
                    )                    
        );
        
        String pStr = jb.build().toString();

        URL u = new URL(g);            
        URLConnection c = u.openConnection();
        HttpURLConnection http = (HttpURLConnection)c;

        http.setRequestMethod("POST"); 
        http.setDoOutput(true);

        byte[] ba = pStr.getBytes(StandardCharsets.UTF_8);
        http.setFixedLengthStreamingMode(ba.length);
        http.setRequestProperty("Content-Type", "application/json; charset=utf-8");
        http.setRequestProperty("Authorization", "DiadocAuth ddauth_api_client_id=" + DD_CLIENT_ID +
                ",ddauth_token=" + tokenBase64);
        
        http.connect();
        try(OutputStream os = http.getOutputStream()) {
            os.write(ba);
        }            
        int responseCode = http.getResponseCode();
        System.out.println ("diadoc senddoc responsecode " + responseCode);
        // попытка прочитать ответ с расшифровкой ошибки
        BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()));
        String inputLine;
        StringBuffer b = new StringBuffer();
        while ((inputLine = in.readLine()) != null)
            b.append(inputLine);            
        in.close();
        
        System.out.println(b.toString());
        
        return true;
    } catch (Exception e) {
        System.err.println ("Diadoc ошибка отправки Торг 12");
        e.printStackTrace(System.err);
    }        
    return false;
}
@i-am-bad-bull
Copy link

Добрый день!
Уточните, пожалуйста, какой текст ошибки возвращается сервером Диадока?

@jedforg
Copy link
Author

jedforg commented Oct 14, 2021 via email

@i-am-bad-bull
Copy link

Уточните, какие данные и в каком виде вы помещаете в контент?
Соответствует ли загружаемый документ актуальному Приказу ФНС и xsd-схеме?

@jedforg
Copy link
Author

jedforg commented Oct 18, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants