16 messaggi dal 03 gennaio 2002
Il codice .asp seguente funziona benissimo, ma non riesco a trasformarlo per la nuova pagina .aspx, che non riporto nemmeno perchè dopo 1000 modifiche dovrò rifarla daccapo.

Qualcuno può aiutarmi pls?

Grazie

----------------------------------------------------------------------------------------------------------------

<%@ Language=vbScript%>
<%
function separa(stringa,pid,url)
dim i

pid = ""
pid = mid(stringa,1,16)

url = ""
url = mid(stringa,18,(len(stringa)-17))


'response.write ("<br>")
'response.write pid
'response.write ("<br>")
'response.write url

end function


dim xmlhttp, DataToSend, DataToSend1, DataToSend2, DataToSend3, URL, varResponse, varPaymentID, varRedirectURL
dim ID, Password, Action, Amt, ResponseURL, ErrorUrl, TrackID

ID = "89025555"
Password = "test"
Action = "4"
Amt = "100"

'Impostare i seguenti URL con quelli corretti del proprio server
ResponseURL = "http://81.75.4.43/Colors/Receipt.asp"
ErrorURL = "http://81.75.4.43/Colors/Error.asp"

TrackId = "pap"

DataToSend1 = "id=" + ID + "&password=" + Password + "&action=" + Action + "&amt=" + Amt + "&"
DataToSend2 = "currencycode=978&langid=USA&responseURL=" + ResponseURL
DataToSend3 = "&errorURL=" + ErrorURL + "&trackid=" + TrackID + "&udf1=AA&udf2=BB&udf3=CC&udf4=DD&udf5=EE"

DataToSend = DataToSend1 + DataToSend2 + DataToSend3

URL = "http://test4.constriv.com:80/cg301/servlet/PaymentInitHTTPServlet"

set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP") 'da usare solo se XMLParser è installato sulla macchina
'Set xmlhttp = Server.CreateObject("Microsoft.XMLHTTP") 'Altrimenti usare questo metodo

'Apro la connessione
xmlhttp.Open "POST",URL,false

'Imposto gli headers HTTP
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

'Invio i dati
xmlhttp.send DataToSend

'Ricevo la risposta dal server
'Response.ContentType = "text/xml"
varResponse = xmlhttp.ResponseText

'Libero le risorse
Set xmlhttp = nothing

'Response.write varResponse 'Solo per Debug

'Separo il contenuto della stringa ricevuta
call separa(varResponse,varPaymentID,varRedirectURL)

'Creo l'URL di redirezione
varRedirectURL = varRedirectURL & "?PaymentID=" & varPaymentId

'Redirezione finale del browser sulla HPP
Response.Redirect varRedirectURL

%>
16 messaggi dal 03 gennaio 2002
Nessuno ha qualche idea?
devi usare le classi WebClient e XmlDocument.
non puoi "tradurlo" così, senza un minimo sforzo, perchè ASP e ASP.NET per queste cose usano strumenti completamente differenti.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
16 messaggi dal 03 gennaio 2002
Ho provato in questo modo ma non mi viene passato nemmeno il primo parametro di controllo (id).

Ho cercato qualcosa su xmldocument e webclient, ma si fa riferimento sempre a documenti xml, mentre io devo passare una stringa tramite post.

Ho proprio bisogno di aiuto.


<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" debug="true" trace="true" %>

<%@ Import Namespace="System.Xml.XmlDocument" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<%@ Import Namespace="System.Xml.XPath" %>
<%@ import namespace="System.Net" %>
<%@ import namespace="System.IO" %>
<%@ import namespace="System.Text" %>
<%@ import namespace="System.Net.HttpWebRequest" %>

<script runat="server">

Sub Page_Load()

Dim Access, Ship, MyRequest, xmlHTTP , result
Dim XMLReq As Object

XMLReq = CreateObject("MSXML2.ServerXMLHTTP")
MyRequest = "id=89025555&currencycode=978&password=test&action=4&amt=100&langid=USA&responseURL=http://81.75.4.43/Colors/Receipt.asp&errorURL=http://81.75.4.43/Colors/Error.asp&trackid=pap&udf1=AA&udf2=BB&udf3=CC&udf4=DD&udf5=EE"
XMLReq.open("POST", "http://test4.constriv.com:80/cg301/servlet/PaymentInitHTTPServlet", False)
XMLReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
XMLReq.send(MyRequest)
result = XMLReq.responseText
trace.warn("result=",result)

end sub

</script>

<html>
<head>
<title>Gestore Banca</title>
</head>
</html>
devi usare WebClient e non un oggetto che ti pare.
cerca webclient in unoscript@lgiorno, troverai diversi esempi, e non presuppone l'uso di XML, puoi trattare la risposta come stringa.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
16 messaggi dal 03 gennaio 2002
Ho provato con un esempio adattato da MSDN, ma pur non avendo errori non mi ritorna alcun risultato mentre io passo sia l'url che la stringa.

Cosa non ho messo????



<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" debug="true" trace="true" %>

<%@ Import Namespace="System.Net" %>
<%@ import namespace="System.IO" %>

<script runat="server">

Sub Page_Load()

Dim uriString As String
'Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
uriString = "http://test4.constriv.com:80/cg301/servlet/PaymentInitHTTPServlet"
'Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the URI {0}:", uriString)
Dim postData As String = "currencycode=978&id=89025555&password=test&action=4&amt=100&langid=USA&responseURL=http://81.75.4.43/Colors/Receipt.asp&errorURL=http://81.75.4.43/Colors/Error.asp&trackid=pap&udf1=AA&udf2=BB&udf3=CC&udf4=DD&udf5=EE"
' Apply ASCII encoding to obtain an array of bytes.
Dim postArray As Byte() = Encoding.ASCII.GetBytes(postData)
' Create a new WebClient instance.
Dim myWebClient As New WebClient()
'Console.WriteLine("Uploading to {0} ...", uriString)
Dim postStream As Stream = myWebClient.OpenWrite(uriString, "POST")
postStream.Write(postArray, 0, postArray.Length)
' Close the stream and release resources.
postStream.Close()
'Console.WriteLine(ControlChars.Cr + "Successfully posted the data.")

end sub

</script>
in quale punto secondo te dovresti avere un risultato se da nessuna parte leggi dallo stream?
ti avevo suggerito di cercare webclient in unoscript@lgiorno per trovare alcuni esempi, l'avessi fatto avresti trovare questo: #584 che altro non è che quello che chiedi, con una piccola variante, nell'ultima parte della funzione.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
16 messaggi dal 03 gennaio 2002
Innanzitutto grazie per la pazienza.......io ho trasformato in vb lo script 584 (vedi sotto), ma poi mi sono andato a cercare su msdn qualcosa per usare OpenWrite e credo di aver fatto un po' di confusione.......tenendo conto che fastweb oggi balbetta, che ormai l'ultimo neurone è andato e che devo finire il prima possibile credo che sarà un pessimo pomeriggio oggi................

............a meno che qualcuno non mi illumini.

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="iso-8859-1" debug="true" trace="true" %>

<%@ Import Namespace="System.Net" %>
<%@ import namespace="System.IO" %>
<%@ Import Namespace="System.Xml" %>

<script runat="server">




Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'invio un file all'URL specificato
Response.Write(PostUrl("http://localhost/upload.aspx", Server.MapPath("file.txt")))
End Sub

Public Function PostUrl(ByVal url As String, ByVal what As String) As String
'WebClient ed upload del file via POST
Dim http As New Net.WebClient
Dim bresult() As Byte = http.UploadFile(url, "POST", what)


'de-encoding dei dati e conversione in stringa
Dim objEncoded As System.Text.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1")
Return objEncoded.GetString(bresult)
End Function

</script>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.