HTTP Post, Nav2009 Webservice

8. Juli 2013 16:06

Guten Tag msdynamics Community!

Nach Stunden des Googlens und Herumprobierens ziehe ich die letzte Konsequenz und richte mich an euch.

Es geht darum aus NAV (2009 SP1) Classic einen Webservice aufzurufen, dieser soll den Zweck erfüllen mir eine SalesInvoice als PDF zu speichern.
Da die SAVEASPDF normalerweise vom Classic aus nicht funktioniert, und DLL's lästig im Deployment sind habe ich mich für diesen Weg entschieden.

Vereinfachter Prototyp des Webservices (Codeunit)
Code:
CLEAR(InvHeader);
InvHeader.GET('1002');

REPORT.SAVEASPDF(50033, 'C:\temp\test.pdf);
clear(invheader);


Aufruf des Webservices aus einer anderen CU:
Code:
 // XMLHttp   Automation   'Microsoft XML, v6.0'.XMLHTTP60   
 CREATE(XMLHttp,TRUE,TRUE);
 XMLHttp.open('POST',servicePath,0);
 XMLHttp.setRequestHeader('Content-type','text/xml');
 XMLHttp.setRequestHeader('SOAPAction','servicepath+':createpdf');
 XMLHttp.send('');
 CLEAR(XMLHttp);


Das letztendliche Ziel besteht daraus dem Webservice noch DocType, DocNo und Pfad mitzugeben.
Leider es so aus als würde der Webservice nie aufgerufen werden.
Ich bin leider was die XMLHTTP Automation angeht kompletter Neuling, hoffentlich kann mir jemand helfen diese an sich einfache Aufgabe zu lösen.


Mfg, Wisa

Re: HTTP Post, Nav2009 Webservice

8. Juli 2013 16:58

Hi,

ist denn dein Webservice auch veröffentlicht?

vielleicht hilft dir ja auch das hier weiter:

http://www.dynamicsblog.at/index.php/20 ... sic-client

Re: HTTP Post, Nav2009 Webservice

8. Juli 2013 18:29

Hi, danke für die Antwort Sweikelt

Webservice ist natürlich gepublished, die etwas unschöne Möglichkeit die in dem Blog beschrieben ist würde ich,
wenn überhaupt nur als letzten Ausweg in betracht ziehen.

Re: HTTP Post, Nav2009 Webservice

9. Juli 2013 08:04

Freddy hat das schon beschrieben:

http://blogs.msdn.com/b/freddyk/archive/2010/01/22/connecting-to-nav-web-services-from-microsoft-dynamics-nav-2009-sp1.aspx

Volker