Options

Sending a xml to a webservice

jensthomsenjensthomsen Member Posts: 173
edited 2013-11-29 in NAV Three Tier
Hi
I'm trying to send a XML to a webservice. The XML is created by using DotNet interopt and this Works fine.

First I stream the XML to the temp Blob tabel:

LocalTempBlobRec."Primay Key" := 1;
LocalTempBlobRec.Blob.CREATEOUTSTREAM(LocalOutStream);
XMLdocOut.Save(LocalOutStream);
LocalTempBlobRec.INSERT;
LocalTempBlobRec.CALCFIELDS(Blob);

Where
LocalTempBlobRec: Table 'TempBlob'
LocalOutStream: OutStream
XMLdocOut: DotNet 'System.Xml.XmlDocument.'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089''

XMLdocOut holds the right XML: I'm able to save it to my HDD and wiev it.

Sending the XML to webservice:

XmlHttp := XmlHttpClass.XMLHTTPRequestClass;
XmlHttp.open('POST', GetWS,FALSE,'','');
XmlHttp.setRequestHeader('Content-Type: ', 'application/x-www-form-urlencoded');
XmlHttp.send(LocalTempBlobRec.Blob);
IF XmlHttp.status <> 200 THEN
ERROR(Text003);

GetWS: Function that gets the URL of the web-service
XmlHttp: DotNet MSXML.IXMLHttpRequest.'Microsoft.MSXML, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
XmlHttpClass: DotNet MSXML.XMLHTTPRequestClass.'Microsoft.MSXML, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

The webservice is responding but with an error:
Failure code = "400". Missing request parameter 'xmlmsg' of "'application/x-www-form-urlencoded"

Am I missing a parameter in the 'setRequestHeader'??

Heeeeeeeeeeeelp :roll:

Comments

  • Options
    geordiegeordie Member Posts: 655
    Hi, don't you need to define SOAP action? For example:
    XmlHttp.setRequestHeader('SOAPAction',TextURL + TextMethod);
    
  • Options
    jensthomsenjensthomsen Member Posts: 173
    geordie wrote:
    Hi, don't you need to define SOAP action? For example:
    XmlHttp.setRequestHeader('SOAPAction',TextURL + TextMethod);
    

    I guess that is what I'm declaring in the 'XmlHttp.open('POST', GetWS,FALSE,'','');'?....Or what?
  • Options
    ara3nara3n Member Posts: 9,256
    I suggest to use soapUI and see how the xml is created as well as the URL.
    Ahmed Rashed Amini
    Independent Consultant/Developer


    blog: https://dynamicsuser.net/nav/b/ara3n
Sign In or Register to comment.