Question

J'ai un code pour envoyer XML via POST. Mais ce code est en PHP et j'ai besoin en VB.NET.

Toute aide à convertir ce code?

$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"; 

Et comment je convertir ce code PHP trop:

$msg=htmlentities($msg);
$msg=urlencode($msg); 
Était-ce utile?

La solution

Vous devez utiliser le HttpWebRequest et HttpWebResponse classes. Le code pourrait ressemblerait à quelque chose comme ça ( mon VB est un peu rouillé ces jours ):

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()

Autres conseils

Voir: solution htmlentities urlencode

Et pour autant que boucle, il semble que vous essayez d'appeler un service Web. Si c'est un service Web approprié (ce qui signifie qu'il est un WSDL et un XSD quelque part), vous devez ajouter un service de référence (ou une référence Web si vous êtes dans VS2005 ou VS2003) à votre projet, qui va générer un proxy pour vous utiliser (au lieu de déversement manuellement XML à un serveur).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top