Options

Outstream initialize error

kenjeskenjes Member Posts: 76
Hi

I have the following code - and gets the error :

"Microsoft.Dynamics.Nav.Runtime.NavOutStream variable not initialized"

LOCAL SendXMLCall(WebServiceURL : Text;Request : InStream;VAR Response : OutStream;VAR ErrorMsg : Text) StatusOK : Boolean
 
//Prepare the request. Load it as a text into an XML document.
vBigText.READ(Request);
vBigText.GETSUBTEXT(TempString,1);
XMLDoc := XMLDoc.XmlDocument();
XMLDoc.LoadXml(TempString);
 
//Start the web service call
XMLHttpRequest := XMLHttpRequest.Create(WebServiceURL);
XMLHttpRequest.Method('POST');
XMLHttpRequest.ContentType('text/xml;charset=utf-8');
XMLHttpRequest.KeepAlive(TRUE);
 
//Send the XMLDoc to the HttpRequest
streamWritter := streamWritter.StreamWriter(XMLHttpRequest.GetRequestStream, Encoding.UTF8);
XMLDoc.Save(streamWritter);
streamWritter.Close();
 
//Get the http response and save it in the response variable
XMLHttpResponse := XMLHttpRequest.GetResponse;
XMLDoc.Load(XMLHttpResponse.GetResponseStream);
XMLHttpResponse.Close;
XMLDoc.Save(Response);

Can anyone help med here - Thanks

Best Answer

Answers

  • Options
    kenjeskenjes Member Posts: 76
    Hi

    Yes, i figured it out :)

    Can you tell me how to start handling the Response (OutStream). Like Read it as an XML file, and get some value out :)

    Thanks
  • Options
    HannesHolstHannesHolst Member Posts: 119
    Hi kenjes,

    Here is code snippet from me.
    It reads a stream and puts it in a Text-variable (which is may not the best way).
    The Text-variable will be loaded in the XML-Handler of dotNet.
    The goal is to show the text of "faultstring", if it exists in the XML.
    ResponseBlob.Blob.CREATEINSTREAM(ResponseStream);
    ResponseStream.READ(ResponseContainer);
    
    ResponseXML := ResponseXML.XmlDocument;
    ResponseXML.LoadXml(ResponseContainer);
    XMLDocNodeList := ResponseXML.GetElementsByTagName('faultstring');
    XMLDocNode := XMLDocNodeList.Item(0);
    IF XMLDocNodeList.Count > 0 THEN 
      BEGIN
        ERROR(XMLDocNode.InnerText);
      END;
    
    Name	                DataType Subtype	
    ResponseXML	        DotNet	 System.Xml.XmlDocument.'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'	
    ResponseBlob	        Record	 TempBlob	
    ResponseStream	        InStream		
    XMLDocNodeList	        DotNet	 System.Xml.XmlNodeList.'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'	
    XMLDocNode	        DotNet	 System.Xml.XmlNode.'System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'	
    ResponseContainer	Text		
    
Sign In or Register to comment.