Biztalk webservice via NAV aufrufen

26. April 2012 08:40

Hallo zusammen,
wir haben einen Biztalk bei dem haben wir einen Webservice eingerichtet.
Nun ist mein problem diesen Webservice aus dem NAV aufzurufen.
Damit der Biztalk dann ganz einfach eine XML Datei erzeugt.

Ich habe mit dem Webservice aus dem NAV eine andere NAV Datenbank aufrufen können und konnte auch Werte in eine tabelle schreiben.
Nun muss ich das auf den Biztalk webservice umbiegen.
Weiß jemand ob der Webservice aufruf und aufbau der XML datei immer gleich ist?
Hatte jemand sowas schon mal gemacht?

Hier den Code mit dem ich versuche den Biztal Webservice aufzurufen (Der NAV webserivce hatte so funktioniert, natürlich mit anderen Werten)
Code:


URL       :='Hier kommt die WS Url sein';
nameSpace :='Hier de Name Space';
method    :='setMail';
parameters:='55';
User      :='AA\TEST';
Password  :='123';

// Create XML Document
CREATE(XMLDoc,TRUE,TRUE);
xmlProcessingInst:=XMLDoc.createProcessingInstruction('xml','version="1.0" encoding="UTF-8"');
DOMNode:=XMLDoc.appendChild(xmlProcessingInst);
// Create SOAP Envelope
soapEnvelope := XMLDoc.createElement('Soap:Envelope');
soapEnvelope.setAttribute('xmlns:Soap', 'http://schemas.xmlsoap.org/soap/envelope/');
XMLDoc.appendChild(soapEnvelope);
// Create SOAP Body
soapBody := XMLDoc.createElement('Soap:Body');
soapEnvelope.appendChild(soapBody);
// Create Method Element
soapMethod := XMLDoc.createElement(method);
soapMethod.setAttribute('xmlns', nameSpace);
soapBody.appendChild(soapMethod);
// Transfer parameters
NewDOMNode := XMLDoc.createNode(1,'email','');
soapMethod.appendChild(NewDOMNode);
DOMTextNode := XMLDoc.createTextNode(parameters);
NewDOMNode.appendChild(DOMTextNode);

IF ISCLEAR(http) THEN
  CREATE(http);

//SENDEN
http.open('POST',URL,FALSE,User,Password);
http.setRequestHeader('Content-type', 'text/xml; charset=utf-8');
http.setRequestHeader('SOAPAction',method);
http.send(XMLDoc);

IF http.status<> 200 THEN
  MESSAGE('Http Error'+' '+FORMAT(http.status)+' '+http.statusText);

Re: Biztalk webservice via NAV aufrufen

26. April 2012 09:52

Warum willst Du das Rad neu erfinden? Wenn ich das richtig verstehe ist doch schon alles vorhanden: http://blogs.msdn.com/b/nav/archive/2011/03/22/commerce-gateway-and-biztalk-server-2010.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+MicrosoftDynamicsNavTeamBlog+%28Microsoft+Dynamics+NAV+Team+Blog%29

Volker

Re: Biztalk webservice via NAV aufrufen

26. April 2012 10:01

Weil das mit dem Commerce Gateway überhaupt nicht funktioniert... uns wurde von MS gesagt das es nicht mehr supportet wird... es ist eine leihe im nav...
wir haben es auch nicht ans laufen bekommen

Re: Biztalk webservice via NAV aufrufen

26. April 2012 11:15

Die ganze BizTalk-Funktionalität in NAV soll abgeschafft werden?

Re: Biztalk webservice via NAV aufrufen

26. April 2012 11:25

Die ganze BizTalk-Funktionalität in NAV soll abgeschafft werden?


Das wäre mir auch neu. Habe bei NAV 2013 auch noch nichts in den Ankündigungen davon gelesen. Was sich aber in 2013 wohl ändern wird/muss, ist die Schnittstelle. Die Funktionalität wird aber wohl erhalten bleiben.

NAV und Biztalk ist ein wenig tricky, das gebe ich zu, aber ich habe es in 4.0 auch schon zum laufen bekommen. :wink:
Das größte Problem dabei ist wohl die NICHT- Verwendung von 64bit- Versionen. Nähere Informationen dazu hier.

Gruß, Fiddi

Re: Biztalk webservice via NAV aufrufen

26. April 2012 11:29

Wir hatten mal versucht das ans laufen zu bekommen mit NAV r2 und BizTalk2010.. wir hatte es nicht geschaft...
Die Anleitung dazu ist zu veraltet das man diese nicht mehr mit den neusten version gebrauchen kann
Die aussage von MS: "Er wird keine neuen anleiten dazu geben, und wir sollen es doch mit WS machen".
Wir haben das per email geschicht bekommen...

Mal schauen wir haben eine anfrage an MS gemacht, ich bin gespannt was sie uns dazu sagen werden.

Re: Biztalk webservice via NAV aufrufen

26. April 2012 12:59

Der Tricky Part ist glaube ich immer das Anbinden der Automation an BizTalk. Die Kommunikation finden ja über Automation-Events statt. in NAV 2013 geht das dann wahrscheinlich gar nicht mehr. Ohne Classic Client sind glaube ich Automations auch aussen vor.

Re: Biztalk webservice via NAV aufrufen

26. April 2012 13:37

Wenn du den Commerce- Gateway durch WS ersetzten willst, hast du leider das Problem, das die Schnittstelle Bidirektional ist, d.h. Sowohl NAV müsste einen WS in Biztalk aufrufen können, als auch Biztalk in NAV. Dann gibt es noch das Problem der Responses, die automatisch versendet werden müssen, das müsste dann direkt vom Client des jeweiligen Anwenders passieren, bzw. wenn das nicht sofort passieren kann (biztalk ruft NAV), müsste ein Client irgendwo laufen, der die Kommunikation steuert. Ein NAS kann das leider (noch) nicht mit WS.

Daher kann ich z.Zt. nur empfehlen, den Commerce- Gateway einzusetzen, und wenn MS was neues hat, die neue Schnittstelle zu implementieren.

Gruß, Fiddi

Re: Biztalk webservice via NAV aufrufen

26. April 2012 15:09

Der Trigger ist im NAV, das heißt ich führe etwas aus dann wird der Weservice des Biztalks aufgerufen und der Biztalk soll dann im hintergrund etwas durchführen, es soll keine Schnittstelle in zwei richtungen erstellt werden.
Nur eine einseitige sahe.