พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com | บล็อกอาหาร | Thailand travel information
ASP programming / ใครช่วยตอบทีครับ จนปัญญาจิงๆๆ ("MSXML2.ServerXMLHTTP")
pjlclub
pjlclub
Fri 2 Jun 2006 15:14:27
ผมเขียน file post ส่ง sms ครับโดยส่งในรูปแบบ xml
<%
...//.....
set NewDoc = xmlSend (sURL, SendDoc)

private function xmlSend(url, docSubmit)

Set poster = Server.CreateObject("MSXML2.ServerXMLHTTP")
poster.open "POST", url, false
poster.setRequestHeader "CONTENT-TYPE", "text/xml"
poster.setRequestHeader "Authorization", "Basic " & encrypt64
poster.setRequestHeader "Content-Length", ""& xmlStringLength &""
poster.send docSubmit

Set NewDoc = server.createobject("Microsoft.XMLDOM")
newDoc.ValidateOnParse= True
newDoc.LoadXML(poster.responseTEXT)

Set XMLSend = NewDoc
Set poster = Nothing

end function
...//...
%>

ปัญหามันก้อคือว่า เดิมผมRUNจาก serverเก่าที่ใช้ windows2003ไม่มีsp RUNได้ครับ ผลที่ได้ออกมาคือ
POST / HTTP/1.1
Content-Type: text/xml
Authorization: เซนต์เซอร์
Content-Length: 387
เซนต์เซอร์ xxxxxxxxxx xxxxx

แต่เมือเปลี่ยน มารันอีก server ซึ้งเป็นwindows2003sp1 มีปัญหาครับ ผลที่ได้คือ
POST / HTTP/1.1
Content-Type: text/xml; charset=UTF-8
Authorization: เซนต์เซอร์
Content-Length: 422
เซนต์เซอร์ xxxx xxxxxxxx

ดูเหมือนจะไม่มีปัญหา แต่ปัญหาก้อคือ "; charset=UTF-8" มีติดมาด้วยครับ ทั้งๆๆที่ code เดี่ยวกัน ไม่รู้ว่าตัว "; charset=UTF-8"มาได้ไง
ผมต้องการตัด "; charset=UTF-8" ออกไปยังไงครับ
ไม่ต้องการให้มี "; charset=UTF-8" ติดมาด้วย เอาแบบContent-Type: text/xml ไม่มีอะไรมาต่อ อะครับ
ผมไม่อยากลงwin server เพราะในเรื่องใหญ่เลยครับ
ใครทราบช่วยบอก มาเป้นขั้นตอนด้วย ครับ ผมจนปัญญาจิงๆๆ หรือ จะมาคุยได้ที่ pjlclub@hotmail.com ขอบคุณมากครับ
Administrator
Fri 2 Jun 2006 15:45:06
จริงๆแล้ว content-length นั้นต้องรวม request header ด้วยนะครับ (ถ้าผมจำไม่ผิดนะ) ที่มีปัญหาน่าจะเกิดจากตอน request มีการส่ง header เป็น charset utf-8 ซึ่งเป็นมาตรฐานในเอกสาร xml ซึ่งเข้าใจว่า request เดิมของคุณอาจจะส่งเป็น ascii ซึ่งคงต้องทำการ convert จาก ascii เป็น utf-8 ครับ
pjlclub
pjlclub
Fri 2 Jun 2006 21:04:31

 แล้วมีคำสั่งมั้ยครับที่ ตัด charset=UTF-8 ออก ทั้งๆที่ code ผมไม่ได้เขียนกำหนดค่า harset=UTF-8เลย อะครับ
ช่วยอีกที นะครับ

Administrator
Fri 2 Jun 2006 21:27:28
ผมว่าอาจจะเป็นที่ iis เพิ่มลงไปนะครับ ซึ่งถ้าเป็นเช่นนั้น คงจะตัดไม่ได้

ในอีกทางผมว่าระบุ charset ลงไปใน request header เลยดีกว่าไหมครับ

ต้องขออภัยด้วยครับไม่ถนัด asp
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login