Send XML via HTTPS.

maniekb
Member Posts: 15
Hello,
Someone of you wizards could help me? Of course, previously search mibuso for answer.
I'm trying send xml file via https. Xml file is available at http://www.e-deklaracje.gov.pl/files/dopobrania/eDek_Specyfikacja_We-Wy_1.4.2_Test.pdf on pages 23/38 and 24/38. Given method is useful when we do not have a certificate to sign documents, and therefore added to the end of the file is a node: <podp:DaneAutoryzujace...'>. Then the whole xml file must be encoded by base64 as it is shown in the above mentioned documentation (pages 29/38).
So my send.xml file looks like:
In NAV i have:
ERROR:
1. On page 25/38 are about how to establish the session. But hell I'dont know how make use of it.
2. So i can open https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty, save the certificate on disk. Next run command prompt: mmc ->
File,Add, Certificate, Local Account, Local Computer. Next click on added certificate, Personal, All Tasks, Imports. So I can add a previously saved certificate.
But how to benefit from this in the code? In HKEY_LOCAL_MACHINE do not have such thing as a Personal ... ([url=Http://msdn.microsoft.com/en-us/library/aa384055]Http://msdn.microsoft.com/en-us/library/aa384055[/url]% 28VS.85% 29.aspx) // Select a client certificate. HttpReq.SetClientCertificate("LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate");
Someone of you wizards could help me? Of course, previously search mibuso for answer.
I'm trying send xml file via https. Xml file is available at http://www.e-deklaracje.gov.pl/files/dopobrania/eDek_Specyfikacja_We-Wy_1.4.2_Test.pdf on pages 23/38 and 24/38. Given method is useful when we do not have a certificate to sign documents, and therefore added to the end of the file is a node: <podp:DaneAutoryzujace...'>. Then the whole xml file must be encoded by base64 as it is shown in the above mentioned documentation (pages 29/38).
So my send.xml file looks like:
<?xml version=”1.0” encoding=”UTF-8”?>
<soapenv:Envelope xmlns:soapenv=”http://www.w3.org/2003/05/soap-envelope”
xmlns:wsa=”http://www.w3.org/2005/08/addressing”>
<soapenv:Header>
<wsa:To>https://test-bramka.edeklaracje.gov.pl</wsa:To>
<wsa:MessageID>urn:uuid:1111111</wsa:MessageID>
<wsa:Action>urn:sendUnsignDocument</wsa:Action>
</soapenv:Header>
<soapenv:Body>
<ns1:sendUnsignDocument xmlns:ns1="https://test-bramka.edeklaracje.gov.pl/xsd"> <ns1:document>PD94bWwgdmVyc2lvbj2UMS4wlCBlbmNvZGluZz2UVVRGLTiUPz4NCjxEZWtsYXJhY2phPg0KCTxOYWdsb3dlaz4NCgkJPEtvZEZvcm11bGFyemEga29kUG9kYXRrdT0iUElUIiBrb2RTeXN0ZW1vd3k9IlBJVC0zNyAoMTYpIiByb2R6YWpab2Jvd2lhemFuaWE9IloiDQp3ZXJzamFTY2hlbXk9IjEtMCI+UElULTM3PC9Lb2RGb3JtdWxhcnphPg0KCQk8V2FyaWFudEZvcm11bGFyemE+MTY8L1dhcmlhbnRGb3JtdWxhcnphPg0KCQk8Q2VsWmxvemVuaWEgcG96PSJQXzEwIj4xPC9DZWxabG96ZW5pYT4NCgkJPFJvaz4yMDEwPC9Sb2s+DQoJCTxLb2RVcnplZHU+MDIwMjwvS29kVXJ6ZWR1Pg0KCTwvTmFnbG93ZWs+DQo8UG9kbWlvdDEgcm9sYT0iUG9kYXRuaWsiPg0KCTxPc29iYUZpenljem5hPg0KCQk8TklQPjk5OTk5OTk5OTk8L05JUD4NCgkJPEltaWVQaWVyd3N6ZT5BREFNPC9JbWllUGllcndzemU+DQoJCTxOYXp3aXNrbz5LT1dBTFNLSTwvTmF6d2lza28+DQoJCTxEYXRhVXJvZHplbmlhPjE5ODAtMDEtMDE8L0RhdGFVcm9kemVuaWE+DQoJCTxQRVNFTD44MDAxMDExMTExMDwvUEVTRUw+DQoJPC9Pc29iYUZpenljem5hPg0KCTxBZHJlc1phbWllc3prYW5pYSByb2R6YWpBZHJlc3U9IlJBRCI+DQoJPEFkcmVzUG9sPg0KCQk8S29kS3JhanU+UEw8L0tvZEtyYWp1Pg0KCQk8V29qZXdvZHp0d28+TUFaT1dJRUNLSUU8L1dvamV3b2R6dHdvPg0KCQk8UG93aWF0PldBUlNaQVdTS0k8L1Bvd2lhdD4NCgkJPEdtaW5hPk0uU1QuV0FSU1pBV0E8L0dtaW5hPg0KCQk8TnJEb211PjU8L05yRG9tdT4NCgkJPE1pZWpzY293b3NjPldBUlNaQVdBPC9NaWVqc2Nvd29zYz4NCgkJPEtvZFBvY3p0b3d5PjAwLTY1NDwvS29kUG9jenRvd3k+DQoJCTxQb2N6dGE+V0FSU1pBV0E8L1BvY3p0YT4NCgk8L0FkcmVzUG9sPg0KCTwvQWRyZXNaYW1pZXN6a2FuaWE+DQo8L1BvZG1pb3QxPg0KPFBvenljamVTemN6ZWdvbG93ZT4NCgk8UF82PjE8L1BfNj4NCgk8UF8zOT4yNDUwMDwvUF8zOT4NCgk8UF80MD4xMzM1PC9QXzQwPg0KCTxQXzQxPjIzMTY1PC9QXzQxPg0KCTxQXzQzPjIwMDA8L1BfNDM+DQoJPFBfNjI+MjQ1MDA8L1BfNjI+DQoJPFBfNjM+MTMzNTwvUF82Mz4NCgk8UF82ND4yMzE2NTwvUF82ND4NCgk8UF82NT4yMDAwPC9QXzY1Pg0KCTxQXzk3PjIzMTY1PC9QXzk3Pg0KCTxQXzEwNT4yMzE2NS4wMDwvUF8xMDU+DQoJPFBfMTA2PjIzMTY1PC9QXzEwNj4NCgk8UF8xMDc+MzYxMy42ODwvUF8xMDc+DQoJPFBfMTA5PjM2MTMuNjg8L1BfMTA5Pg0KCTxQXzExNj4zNjEzLjY4PC9QXzExNj4NCgk8UF8xMjA+MzYxNDwvUF8xMjA+DQoJPFBfMTIxPjIwMDA8L1BfMTIxPg0KCTxQXzEyMj4xNjE0PC9QXzEyMj4NCjwvUG96eWNqZVN6Y3plZ29sb3dlPg0KPFBvdWN6ZW5pZT5XIHd5cGFka3Ugbmlld3CzYWNlbmlhIHcgb2Jvd2m5enVquWN5bSB0ZXJtaW5pZSBrd290eSB6IHBvei4xMjIgbHViIHdws2FjZW5pYSBqZWogdw0KbmllcGWzbmVqIHd5c29rb5xjaSBuaW5pZWpzemUgemV6bmFuaWUgc3Rhbm93aSBwb2RzdGF36iBkbyB3eXN0YXdpZW5pYSB0eXR1s3Ugd3lrb25hd2N6ZWdvLA0KemdvZG5pZSB6IHByemVwaXNhbWkgdXN0YXd5IHogZG5pYSAxNyBjemVyd2NhIDE5NjYgci4gbyBwb3N06nBvd2FuaXUgZWd6ZWt1Y3lqbnltIHcNCmFkbWluaXN0cmFjamkgKER6LlUuIHogMjAwNSByLiBOciAyMjksIHBvei4xOTU0LCB6IHDzn24uIHptLikuPC9Qb3VjemVuaWU+DQo8T3N3aWFkY3plbmllPk+cd2lhZGN6YW0sIL9lIHO5IG1pIHpuYW5lIHByemVwaXN5IEtvZGVrc3Uga2FybmVnbyBza2FyYm93ZWdvIG8NCm9kcG93aWVkemlhbG5vnGNpIHphIHBvZGFuaWUgZGFueWNoIG5pZXpnb2RueWNoIHogcnplY3p5d2lzdG+cY2m5IG9yYXogb5x3aWFkY3phbSBwb2Qgcnlnb3JlbQ0Kb2Rwb3dpZWR6aWFsbm+cY2kga2FybmVqIHphIGZhs3N6eXdlIHplem5hbmlhLCC/ZSBzcGWzbmlvbnkgamVzdCB3YXJ1bmVrIHByemV3aWR6aWFueSB3IGFydC4gNg0KdXN0LiAyYSB1c3Rhd3kuIFcgcHJ6eXBhZGt1IHphem5hY3plbmlhIHcgcG96LjYga3dhZHJhdHUgbnIgMiwgMyBhbGJvIDQsIGt3YWRyYXR1IHcgcG96LjcgbHViDQp3IHBvei44LCBvnHdpYWRjemFtLCBpvyBzcGWzbmlvbmUgc7kgd2FydW5raSBkbyBvcG9kYXRrb3dhbmlhIGRvY2hvZPN3IHcgd3licmFueQ0Kc3Bvc/NiLjwvT3N3aWFkY3plbmllPg0KPHBvZHA6RGFuZUF1dG9yeXp1amFjZSB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly9lZGVrbGFyYWNqZS4NCm1mLmdvdi5wbC9SZXBvenl0b3JpdW0vRGVmaW5pY2plL1BvZHBpcy8gU0lHLTIwMDhfdjEtMi54c2QiIHhtbG5zOnBvZHA9Imh0dHA6Ly9lZGVrbGFyYWNqZS4NCm1mLmdvdi5wbC9SZXBvenl0b3JpdW0vRGVmaW5pY2plL1BvZHBpcy8iDQp4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj4NCgk8cG9kcDpOSVA+OTk5OTk5OTk5OTwvcG9kcDpOSVA+DQoJPHBvZHA6SW1pZVBpZXJ3c3plPkFEQU08L3BvZHA6SW1pZVBpZXJ3c3plPg0KCTxwb2RwOk5hendpc2tvPktPV0FMU0tJPC9wb2RwOk5hendpc2tvPg0KCTxwb2RwOkRhdGFVcm9kemVuaWE+MTk4MC0wMS0wMTwvcG9kcDpEYXRhVXJvZHplbmlhPg0KCTxwb2RwOlBFU0VMPjgwMDEwMTExMTEwPC9wb2RwOlBFU0VMPg0KCTxwb2RwOkt3b3RhPjEyNC41MDwvcG9kcDpLd290YT4NCjwvcG9kcDpEYW5lQXV0b3J5enVqYWNlPg0KPC9EZWtsYXJhY2phPg==</ns1:document>
</ns1:sendUnsignDocument>
</soapenv:Body>
</soapenv:Envelope>
In NAV i have:
//CREATE(xmlSchema);
CREATE(locautXmlDoc);
//locautXmlDoc.schemas := xmlSchema;
locautXmlDoc.async := FALSE;
locautXmlDoc.loadXML('D:\send.xml');
//MESSAGE(FORMAT(locautXmlDoc.parseError));
IF NOT ISCLEAR(WinHTTPRequest) THEN CLEAR(WinHTTPRequest);
CREATE(WinHTTPRequest);
WinHTTPRequest.Open('GET', 'https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty',FALSE); //or 'POST'
WinHTTPRequest.SetClientCertificate('LOCAL_MACHINE\My\Certificates'); <----MY Question
WinHTTPRequest.Send;
IF NOT WinHTTPRequest.WaitForResponse() THEN
ERROR('Timed out');
MESSAGE('Status: '+FORMAT(WinHTTPRequest.Status())+'\'+
'StatusText: '+WinHTTPRequest.StatusText());
ERROR:
The call to member Send failed. Returned the Following WinHttp.WinHttpRequest message: Certificate Authority is invalid or incorrect.
1. On page 25/38 are about how to establish the session. But hell I'dont know how make use of it.
2. So i can open https://test-bramka.edeklaracje.gov.pl/uslugi/dokumenty, save the certificate on disk. Next run command prompt: mmc ->
File,Add, Certificate, Local Account, Local Computer. Next click on added certificate, Personal, All Tasks, Imports. So I can add a previously saved certificate.
But how to benefit from this in the code? In HKEY_LOCAL_MACHINE do not have such thing as a Personal ... ([url=Http://msdn.microsoft.com/en-us/library/aa384055]Http://msdn.microsoft.com/en-us/library/aa384055[/url]% 28VS.85% 29.aspx) // Select a client certificate. HttpReq.SetClientCertificate("LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate");
0
Comments
-
Anybody? Pls read questions0
-
Maybe someone know how to use SetClientCertificate object -> 'Microsoft WinHTTP Services, version 5.1'.WinHttpRequest ?
Today I generate free certificate https://www.startssl.com/?app=12; I have this on browser, i can backup to file, very similar situation (http://www.advancedqtp.com/forums/index ... pic=5474.0).
According to artice: http://msdn.microsoft.com/en-us/library ... 85%29.aspx in regedit, i don't have such a thing:
"LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate"0 -
Hi, unfortunately I don't know solution. I have the same problem. I would like to say only my NAV code can consume webservice if I don't specify certificate via SetClientCertificate method. If I specify certificate I get the same error. I really have not found solution even I specify certificate (the parameter of SetClientCertificate method) in very many forms. Does know someone solution please?0
-
Just a wild guess, but isn't that "LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate" the path to the certificate in the certification store? Registry has nothing to do with certificates as of my understanding...
And LOCAL_MACHINE is no registry root, instead it would be HKEY_LOCAL_MACHINE
Watch your certification store, there should be a "Personal" Dir, this should be the one of the example.0 -
Shouldn't you send the xml too? like WinHTTPRequest.Send(xmlfile);0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions