Solved

ASAP , problem with xmlhttp

Posted on 2001-08-10
16
260 Views
Last Modified: 2012-08-13
I have a big problem with xmlhttp.
When I send an xml as string using parameters and I want to get an xml back.  All the spaces are removed from the xml.  How come?  This is the code I use.

Set objHttp = Server.CreateObject("Microsoft.XMLHTTP")
objHttp.Open "POST", "this is the correct url, False
objhttp.setRequestHeader "Content-Type","application/x-ww-form-urlencoded"
objHttp.Send <this is the xml>
response.write objHttp.responseText
Set objHttp = Nothing
0
Comment
Question by:inges
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
  • 2
  • +3
16 Comments
 
LVL 33

Expert Comment

by:hongjun
ID: 6371532
Can you post the actual code instead of all those <..>. Also post what you see when you do the response.write

hongjun
0
 
LVL 33

Expert Comment

by:hongjun
ID: 6371538
How about doing this?
Response.Write xmlhttp.responseXML.xml

hongjun
0
 

Author Comment

by:inges
ID: 6371552
I've tried the xmlhttp.responsexml.xml.
I still get an xml-string back with the spaces removed.
I would post the complete xml, but is it rather big but you understand the problem so ... .
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 

Author Comment

by:inges
ID: 6371553
I've tried the xmlhttp.responsexml.xml.
I still get an xml-string back with the spaces removed.
I would post the complete xml, but is it rather big but you understand the problem so ... .
0
 
LVL 33

Expert Comment

by:hongjun
ID: 6371609
Are those spaces replaced by any characters?

hongjun
0
 

Author Comment

by:inges
ID: 6371710
No not replaced, just gone
0
 
LVL 26

Accepted Solution

by:
EDDYKT earned 300 total points
ID: 6372211
If you remember correctly, you have to encode your xml string, ie. using Server.HTMLEncode
0
 
LVL 2

Expert Comment

by:ZhongYu
ID: 6372505
I suppose you post the xml to an asp. In this case you must add:    

Response.contentType = "text/xml"

before sending anything back to the browser.
0
 

Author Comment

by:inges
ID: 6372530
So how do you decode you're xml-string if you have used server.htmlencode
-------------------------------------------------------
I've tried it with the reponse.contenttype
0
 
LVL 33

Expert Comment

by:hongjun
ID: 6372543
Try this
response.write Server.HTMLEncode(objHttp.responseText)

hongjun
0
 
LVL 2

Expert Comment

by:ZhongYu
ID: 6372621
I am not sure it is supported by the browser side since it is wise to use the old version of XML: Microsoft.XMLHTTP you may not have to.

On the server side:
xmldoc.preserveWhiteSpace = true

use Msxml2.DOMDocument if you cannot use it.
0
 

Author Comment

by:inges
ID: 6372642
It happens in the send.
I send an xml string to the server and when ik gets there the spaces are gone.
0
 

Expert Comment

by:macshiva
ID: 6373827
Inges,

  Try this way!,

Use
Dim obx As New MSXML2.DOMDocument
Dim objhttp As MSXML2.ServerXMLHTTP

Set objhttp = New MSXML2.ServerXMLHTTP

objhttp.setRequestHeader "Content-Type", "text/xml"

then use soap packet to send the xml content:

    strMethodPkg = "<SOAP:Envelope xmlns:SOAP=""urn:schemas-xmlsoap-org:soap.v1"">"
    strMethodPkg = strMethodPkg & "<SOAP:Header></SOAP:Header>"
    strMethodPkg = strMethodPkg & "<SOAP:Body><m:XMLPass xmlns:m=""urn:soapserver/soap:XMLModule"">"
    strMethodPkg = strMethodPkg & "<XMLString>" & <<this is xml>> & "</XMLString>"
    strMethodPkg = strMethodPkg & "</m:PassXML></SOAP:Body></SOAP:Envelope>"

objhttp.send strMethodPkg

''send pack to receiver end
''after this

strresult = objhttp.responseText
 
obx.loadXML strresult


Receiving End:

Set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
objXMLDOM.Load Request

''You validate according to your need
varXMLBack = objXMLDOM.SelectSingleNode("SOAP:Envelope/SOAP:Body/m:XMLPass/XMLString").Text

strResultXML = "<SOAP:Envelope xmlns:SOAP=""urn:schemas-xmlsoap-org:soap.v1""><SOAP:Header></SOAP:Header>"
strResultXML = strResultXML & "<SOAP:Body><m:XMLStrResponse xmlns:m=""urn:soapserver/soap:XMLModule"">"
strResultXML = strResultXML & "<XMLResult>" & varXMLBack & "</XMLResult></m:XMLStrResponse>"
strResultXML = strResultXML & "</SOAP:Body></SOAP:Envelope>"

Response.Write strResultXML

Best Regards,
Shiva

***********************************************************
0
 

Expert Comment

by:midavis
ID: 6374074
I am actually using posting xml to a server and getting xml out as well.  I have not found a way to get the spaces back.  I thought that through VB's XML DOM component, you can set the preserveWhiteSpaces to true and it should work.  I have tried to set this to true and false and it has not worked.  If you find an answer, let me know.  I will do the same for you.
0
 

Expert Comment

by:macshiva
ID: 6381583
the first sending part is from VB and the receiving end
is in asp..
0
 

Author Comment

by:inges
ID: 6490079
Thanks, It was not server.HTMLEncode but server.URLEncode.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

615 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question