2009-12-02 5 views
0

У меня есть код для отправки XML через POST. Но этот код находится в PHP, и мне это нужно в VB.NET.Помогите конвертировать этот код PHP в код VB.NET

Любая помощь в преобразовании этого кода?

$XMLFile= (here i have created the xml file. XML is encoded ISO-8859) 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"URL WHERE I SEND XML"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch, CURLOPT_POSTFIELDS,"XMLDATA=".$XMLFile); 
$results=curl_exec ($ch); 
curl_close ($ch); 

$results=stripslashes($results); 

$xmlreturned=new SimpleXMLElement($results); 

if($xmlreturned->NotificationResultHeader->RRC==0){ 
if($xmlreturned->NotificationResultList->NotificationResult->NRC==0){ 
echo "OK. SUCCES"; 

И как преобразовать этот PHP код тоже:

$msg=htmlentities($msg); 
$msg=urlencode($msg); 

ответ

1

Вам необходимо использовать классы и HttpWebResponse. Код мог бы выглядеть примерно так (мой VB немного ржавый в эти дни):

Dim xmlDoc as XmlDocumnet 
' 
' prepare you xml doc here... 
' 
Dim encoding as ASCIIEncoding = New ASCIIEncoding() 
Dim postData as String 
postData = "XMLDATA=" + xmlDoc.ToString() 
Dim data() as Byte 
data = encoding.GetBytes(postData) 

' Prepare web request... 
Dim myRequest as HttpWebRequest 
    myRequest = CType(WebRequest.Create("URL TO POST HERE"), HttpWebRequest) 
myRequest.Method = "POST" 
myRequest.ContentType="application/x-www-form-urlencoded" 
myRequest.ContentLength = data.Length 
Dim newStream as Stream = myRequest.GetRequestStream() 
' Send the data. 
newStream.Write(data, 0, data.Length) 

' Get the response 
Dim myResponse as HttpWebResponse 
myResponse = myRequest.GetResponse() 
0

См: htmlentities solution и urlencode solution

И насколько завиток, это выглядит, как вы пытаетесь вызвать веб-сервис , Если это правильный веб-сервис (имеется в виду WSDL и XSD где-то), вы должны добавить в свой проект ссылку на службу (или веб-ссылку, если вы находитесь на VS2005 или VS2003), которая будет генерировать прокси-сервер для вас (вместо того, чтобы вручную сбрасывать XML на сервер).

Смежные вопросы