apheggie
asked on
Amazon CXML post and retrival in ASP
I have been working on this all day and have reached a dead end. I am trying to send an order to Amazon via a CXML OrderRequest Post and then retreive the CXML Response using ASP. Does anyone have a sample of a ASP CXML post and read with Amazon? I have have not even been able to Post alone read the return Response. The closet I have gotton is "Bad Request:Must specify cXML dtd version (1.2.010 - 1.2.019) in DOCTYPE of XML Header".
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML xml:lang="en-US" timestamp="2008-10-09T18:2 5:49-07:00 " payloadID="999268639846749 8529@bizre wards.biz" >
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd">
<cXML xml:lang="en-US" timestamp="2008-10-09T18:2
I have ASP.NET code to receive cXML documents and return a cXML response and have .NET code to send cXML Order Requests and receive cXML response messages. Are you stuck in ASP or can you use .NET?
ASKER
I guess I can write it in .net. Are you working with the Amazon interface.? Their doc in very vague.
ASKER
Sorry for odd first response. I was up to 3:00AM fighting this code. I would LOVE to have your help!
apheggie,
Here is some sample code that I have built in ASP.NET 1.1 that receives cXML documents from a third party. The first portion of the code is the code behind code that backs the ASP.NET webform that the thirdparty points to when the post a new cXML document to us.
There is another portion of code that is a helper method that I use to build a cXML response that I send back to them (success or failure).
Let me know if this helps.
Here is some sample code that I have built in ASP.NET 1.1 that receives cXML documents from a third party. The first portion of the code is the code behind code that backs the ASP.NET webform that the thirdparty points to when the post a new cXML document to us.
There is another portion of code that is a helper method that I use to build a cXML response that I send back to them (success or failure).
Let me know if this helps.
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
namespace CompanyName.eCommerce
{
/// <summary>
/// Summary description for WebForm1.
/// </summary>
public class Default : System.Web.UI.Page
{
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Page_Load(object sender, System.EventArgs e)
{
try
{
//http://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/073b328fa7cdebec?hl=en&
// Create a Stream object to capture entire InputStream from browser.
Stream str = Request.InputStream;
// Find number of bytes in stream.
int strLen = (int)str.Length;
if(strLen>0)
{
Response.ContentType = "text/xml";
// Create a byte array to hold stream.
byte[] bArr = new byte[strLen];
// Read stream into byte array.
str.Read(bArr,0,strLen);
// Convert byte array to a text string.
String strmContents="";
for(int i = 0; i < strLen; i++)
{
strmContents = strmContents + (Char)bArr[i];
}
// write string into a file using filestream
string Filepath = Path.Combine(Server.MapPath("."), Guid.NewGuid().ToString() + ".xml");
FileStream fs = new FileStream(Filepath,FileMode.CreateNew,FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write(strmContents);
sw.Flush();
sw.Close();
cXMLHelper.prepareXmlResponse(Response, true);
LogManager.WriteEntry("eProcurement", string.Format("{0} file received successfully.", Filepath), EventLogEntryType.Information);
}
else
{
cXMLHelper.prepareXmlResponse(Response, false);
}
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex);
cXMLHelper.prepareXmlResponse(Response, false);
LogManager.WriteEntry("eProcurement", string.Format("File receive failed\n\n{0}.", ex.ToString()), EventLogEntryType.Error);
}
}
}
}
===============================================
using System;
using System.Xml;
using System.Web;
using System.Globalization;
namespace CompanyName.eCommerce
{
/// <summary>
/// Summary description for cXMLHelper.
/// </summary>
public class cXMLHelper
{
private cXMLHelper()
{
}
//TODO: generate the timestamp
internal static void prepareXmlResponse(HttpResponse response, bool success)
{
XmlTextWriter xmlResponse = new XmlTextWriter(response.OutputStream, System.Text.Encoding.UTF8);
xmlResponse.Formatting = Formatting.Indented;
xmlResponse.WriteStartDocument();
xmlResponse.WriteDocType("cXML", null, "http://xml.cxml.org/schemas/cXML/1.1.006/cXML.dtd", null);
xmlResponse.WriteStartElement("cXML");
xmlResponse.WriteAttributeString("version", "1.0");
xmlResponse.WriteAttributeString("payloadID", "123");
xmlResponse.WriteAttributeString("timestamp", GetFormattedDateTimeString(DateTime.Now));
xmlResponse.WriteStartElement("Response");
xmlResponse.WriteStartElement("Status");
if(success)
{
xmlResponse.WriteAttributeString("code", "200");
xmlResponse.WriteAttributeString("text", "success");
}
else
{
xmlResponse.WriteAttributeString("code", "500");
xmlResponse.WriteAttributeString("text", "failure");
}
xmlResponse.WriteEndElement(); // Status
xmlResponse.WriteEndElement(); // Response
xmlResponse.WriteEndElement(); // cXML
xmlResponse.WriteEndDocument();
xmlResponse.Flush();
xmlResponse.Close();
}
internal static string GetFormattedDateTimeString(DateTime dt)
{
// For details on this formatting. see: http://www.w3.org/TR/NOTE-datetime
// .NET info on DateTimeFormatInfo Class:
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemglobalizationdatetimeformatinfoclasstopic.asp
return dt.ToString("yyyy-MM-ddTHH:mm:sszzz", CultureInfo.InvariantCulture);
}
}
}
apheggie, I have included some code that I use in a .NET 1.1 Windows Forms app to post a cXML Order Requests to a partner and receive the cXML response back. There is some code/logic you don't need but I left in there. Not the sexiest code but it has been working well for us. Hope this helps,
Please provide the link to Amazon's documentation on posting a cXML document to their system. I am curious to learn more about their platform.
Cheers,
Please provide the link to Amazon's documentation on posting a cXML document to their system. I am curious to learn more about their platform.
Cheers,
public static string SendRequest(string url, string request)
{
HttpWebRequest req = null;
HttpWebResponse resp = null;
Stream reqStream = null;
try
{
UTF8Encoding enc = new UTF8Encoding();
byte [] data = enc.GetBytes(request);
req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentLength = data.Length;
req.ContentType = "text/xml";
req.Proxy = System.Net.WebProxy.GetDefaultProxy();
req.AllowAutoRedirect = true;
// this didn't seem to make any difference
req.ProtocolVersion = HttpVersion.Version10;
req.KeepAlive = false;
req.AllowWriteStreamBuffering = true;
// tried setting these different timeouts with no real improvement
//req.Timeout = 60000;
req.ReadWriteTimeout = 60000;
req.ServicePoint.MaxIdleTime = 100000;
reqStream = req.GetRequestStream();
reqStream.Write(data, 0, data.Length);
resp = (HttpWebResponse)req.GetResponse();
if (req.HaveResponse)
{
if (resp.StatusCode == HttpStatusCode.OK || resp.StatusCode == HttpStatusCode.Accepted)
{
StreamReader reader = new StreamReader(resp.GetResponseStream());
return reader.ReadToEnd();
}
else
{
throw new Exception("Request failed: " + resp.StatusDescription);
}
}
return null;
}
finally
{
if(req!=null)
{
req = null;
}
if(resp!=null)
resp.Close();
if(reqStream!=null)
reqStream.Close();
}
}
========================================
// apheggie, here is the code that calls the SendRequest method listed above.
// It takes the URL to post to and an XML string that represents the cXML document.
// note, there are thigs that I do here that you would eliminate, logging, etc.
// ... more logic above omitted for simplicity's sake
// validation result is an object that I use to record lots of status
// messages and status states thoughout a log involved workflow; you don't need
// this but I left it here so you could see how I track the progress of this entire system
ValidationResult result = new ValidationResult();
// ...more logic below omitted for simplicity's sake
// get the post URL
string url = ConfigurationSettings.AppSettings["Request.URL"];
string request = "";
string response = "";
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
request = doc.OuterXml;
response = SendRequest(url, request);
System.Diagnostics.Debug.WriteLine(response);
// retrieve the response message's status code and text value
doc = null;
doc = new XmlDocument();
doc.LoadXml(response);
XmlNode node = doc.DocumentElement.SelectSingleNode("/cXML/Response/Status");
if(node != null)
{
result.AddMessage(string.Format("The Order Request was posted to <Vendor Name> and returned: {0}/{1}", node.Attributes.Item(1).Value, node.Attributes.Item(0).Value));
// POImporter is a class that I built to import the PO (similar to a cXML Order Request) into our ERP system; not needed by you obviously
POImporter poImporter = new POImporter(fsimp, dsOrderDetails);
poImporter.PONumber = poNumber;
poImporter.POShipToName = shipToName;
poImporter.Import(ref result);
if(result.IsValid)
{
// archive pending order records
((frmMain)fMain).Order.PendingOrderArchive(poNumber);
result.AddMessage("The purchase order information was archived successfully.");
result.AddMessage("You can review previous order history by opening the Order History screen.");
}
else
{
result.AddInvalidatingMessage("The order process did NOT complete successfully. Please contact the IT department (Josh, Jill, or Larry)");
result.AddInvalidatingMessage("NOTE: the supplier got the purchase order but the po was not imported into our ERP system.");
}
ASKER
Is there a way I can test to see if it is posting to the defined page? I have added the code but I am getting nothing back.
Notice the line below:
response = SendRequest(url, request);
The response should contain the stream that Amazon returns (which should be a cXML response). Are you able to set a breakpoint in your IDE and step through the lines of code in question?
response = SendRequest(url, request);
The response should contain the stream that Amazon returns (which should be a cXML response). Are you able to set a breakpoint in your IDE and step through the lines of code in question?
ASKER
No I can not. It is on a hosted server.
I have attached my code (be it as quick & dirty as possible)
Do you see anything obviously wrong?
I have attached my code (be it as quick & dirty as possible)
Do you see anything obviously wrong?
CXMLString = "<?xml version='1.0' encoding='UTF-8'?>"
CXMLString = CXMLString & "<!DOCTYPE cXML SYSTEM 'http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd'>"
CXMLString = CXMLString & "<cXML xml:lang='en-US' version='1.2.014' timestamp='2008-10-09T18:25:49-07:00' payloadID='99926478586398498529@bizrewards.biz'>"
CXMLString = CXMLString & "<Header>"
CXMLString = CXMLString & "<From>"
CXMLString = CXMLString & "<Credential domain='AmazonCustomerID'>"
CXMLString = CXMLString & "<Identity>xxxxx</Identity>"
CXMLString = CXMLString & "</Credential>"
CXMLString = CXMLString & "</From>"
CXMLString = CXMLString & "<To>"
CXMLString = CXMLString & "<Credential domain='CompanyName'>"
CXMLString = CXMLString & "<Identity>Amazon.com</Identity>"
CXMLString = CXMLString & "</Credential>"
CXMLString = CXMLString & "</To>"
CXMLString = CXMLString & "<Sender>"
CXMLString = CXMLString & "<Credential domain='AmazonCustomerId'>"
CXMLString = CXMLString & "<Identity>xxxxx</Identity>"
CXMLString = CXMLString & "<SharedSecret>xxxxx</SharedSecret>"
CXMLString = CXMLString & "</Credential> "
CXMLString = CXMLString & "<UserAgent>Buyer 8.2</UserAgent>"
CXMLString = CXMLString & "</Sender>"
CXMLString = CXMLString & "</Header> <Request> <OrderRequest> <OrderRequestHeader orderID='DO102880' orderDate='2008-10-09' type='new' shipComplete='yes'> <Total> <Money currency='USD'>242.04</Money> </Total> <ShipTo> <Address> <Name xml:lang='en'> John Q. Smith</Name> <PostalAddress name='default'> <DeliverTo>John Q. Smith</DeliverTo> <Street>123 Fourth Ave</Street> <City>Seattle</City> <State>WA</State> <PostalCode>94089</PostalCode> <Country isoCountryCode='US'>United States</Country> </PostalAddress> <Email name='default'>john_smith@acme.com</Email> <Phone name='work'> <TelephoneNumber> <CountryCode isoCountryCode='United States'>1</CountryCode> <AreaOrCityCode>800</AreaOrCityCode> <Number>5555555</Number> </TelephoneNumber> </Phone> </Address> </ShipTo> <BillTo> <Address> <Name xml:lang='en'>Acme Accounts Payable</Name> <PostalAddress name='default'> <Street>124 Union Street</Street> <City>San Francisco</City> <State>CA</State> <PostalCode>94128</PostalCode> <Country isoCountryCode='US'>United States</Country> </PostalAddress> <Phone name='work'> <TelephoneNumber> <CountryCode isoCountryCode='US'>1</CountryCode> <AreaOrCityCode>415</AreaOrCityCode> <Number>6666666</Number> </TelephoneNumber> </Phone> </Address> </BillTo> <Shipping> <Money currency='USD'>12.34</Money> <Description xml:lang='en-US'>SecondDay</Description> </Shipping> <Tax> <Money currency='USD'>10.74</Money> <Description xml:lang='en'>WA State Tax</Description> </Tax> <Payment> <PCard name='Acme Accounts Payable' number='1234567890123456' expiration='2006-05-04'/> </Payment> <Extrinsic name='AssociateId'>1232t6</Extrinsic> </OrderRequestHeader> <ItemOut quantity='2' lineNumber='1'> <ItemID> <SupplierPartID>B00004RALR</SupplierPartID> <SupplierPartAuxiliaryID>2Fa4NZyod</SupplierPartAuxiliaryID> </ItemID><ItemDetail> <UnitPrice> <Money currency='USD'>109.48</Money> </UnitPrice> <Description xml:lang='en-US'>Webber Grill</Description> <UnitOfMeasure>EA</UnitOfMeasure> <Classification domain='ISBN'>12345678</Classification> <Extrinsic name='GiftMessage'>Your gift message here</Extrinsic> <Extrinsic name='MerchantID'>ATVPDKIKX0DER</Extrinsic> </ItemDetail> </ItemOut> </OrderRequest> </Request> </cXML>"
SendRequest("https://punchoutgateway-integration.amazon.com/cxml/OrderRequest", CXMLString)
Sub SendRequest(ByVal url As String, ByVal request As String)
Dim req As HttpWebRequest
Dim resp As HttpWebResponse
Try
Dim data As Byte() = New UTF8Encoding().GetBytes(request)
req = WebRequest.Create(url)
req.Method = "POST"
req.ContentLength = data.Length
req.ContentType = "text/xml"
req.AllowAutoRedirect = True
req.KeepAlive = False
req.AllowWriteStreamBuffering = True
req.ReadWriteTimeout = 60000
req.ServicePoint.MaxIdleTime = 100000
Dim myStream As Stream
myStream = req.GetRequestStream()
myStream.Write(data, 0, data.Length)
resp = req.GetResponse()
If req.HaveResponse Then
If (resp.StatusCode = HttpStatusCode.OK Or resp.StatusCode = HttpStatusCode.Accepted) Then
Dim sr = New StreamReader(resp.GetResponseStream)
Dim strHTML As String = sr.ReadToEnd
Label3.Text = "Returned " & strHTML
Else
Label1.Text = Label1.Text & "Request failed: " + resp.StatusDescription
End If
End If
Catch ex As Exception
Label1.Text = Label1.Text & ex.Message
End Try
End Sub
apheggie,
I created a test ASP.NET project that uses your code and had it post to my http://localhost/ReceiveXML/cXML/default.aspx URL that I gave you originally. Your POST code works but the results aren't rendered in the Label3.Text properly. Try running your code again against Amazon. Then when your code finishes executing, view the HTML source of your test page (with the blank labels). You should see Amazon's cXML XML response. Let me know how you get on.
You could also add logic to parse the cXML response and determine if it is valid/success.
Cheers,
Josh
I created a test ASP.NET project that uses your code and had it post to my http://localhost/ReceiveXML/cXML/default.aspx URL that I gave you originally. Your POST code works but the results aren't rendered in the Label3.Text properly. Try running your code again against Amazon. Then when your code finishes executing, view the HTML source of your test page (with the blank labels). You should see Amazon's cXML XML response. Let me know how you get on.
You could also add logic to parse the cXML response and determine if it is valid/success.
Cheers,
Josh
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Sorry for delay in responding back. I had mutiple emergency week.
Anyway - I wanted to thank you for your help! You saved me!
I have attached the Amazon documentation for you.
Anyway - I wanted to thank you for your help! You saved me!
I have attached the Amazon documentation for you.
[Attachment deleted per request of Amazon.com]
Vee_Mod
ASKER
Thank you sooooo much for your help. You saved me. I have attached the Amazon info to the question.
Great, glad to help. Cheers,
I am new to cXML request/response. The following code is what I am using based on what I've learned from the previous post 'Amazon CXML post and retrival in ASP'.
Can anyone provide assistance?
Can anyone provide assistance?
<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="ISO-8859-1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<% Public Sub SendRequest(ByVal url As String, ByVal request As String)
Dim req As HttpWebRequest
Dim resp As HttpWebResponse
Try
Dim data As Byte() = New UTF8Encoding().GetBytes(request)
req = WebRequest.Create(url)
req.Method = "POST"
req.ContentLength = data.Length
req.ContentType = "text/xml"
req.AllowAutoRedirect = True
req.KeepAlive = False
req.AllowWriteStreamBuffering = True
req.ReadWriteTimeout = 60000
req.ServicePoint.MaxIdleTime = 100000
Dim myStream As Stream
myStream = req.GetRequestStream()
myStream.Write(data, 0, data.Length)
resp = req.GetResponse()
If req.HaveResponse Then
If (resp.StatusCode = HttpStatusCode.OK Or resp.StatusCode = HttpStatusCode.Accepted) Then
Dim sr = New StreamReader(resp.GetResponseStream)
Dim strHTML As String = sr.ReadToEnd
Label3.Text = "Returned " & strHTML
Else
Label1.Text = Label1.Text & "Request failed: " + resp.StatusDescription
End If
End If
Catch ex As Exception
Label1.Text = Label1.Text & ex.Message
End Try
End Sub
%>
<%
Dim CXMLString = ""
CXMLString = "<?xml version='1.0' encoding='UTF-8'?>"
CXMLString = CXMLString & "<!DOCTYPE cXML SYSTEM 'http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd'>"
CXMLString = CXMLString & "<cXML xml:lang='en-US' version='1.2.014' timestamp='2008-12-23T18:25:49-07:00' payloadID='test@specialtyprintcomm.com'>"
CXMLString = CXMLString & "<Response>"
CXMLString = CXMLString & "<Status code=" & chr(34) & "200" & chr(34) & "text=" & chr(34) & "success" & chr(34) & "></Status>"
CXMLString = CXMLString & "<PunchOutSetupResponse>"
CXMLString = CXMLString & "<StartPage>"
CXMLString = CXMLString & "<URL>http://www.hotleadsmanager.com"
CXMLString = CXMLString & "</URL>"
CXMLString = CXMLString & "</StartPage>"
CXMLString = CXMLString & "</PunchOutSetupResponse>"
CXMLString = CXMLString & "</Response>"
CXMLString = CXMLString & "</cXML>"
SubSendRequest("https://stagingportal.ketera.com/procurement/uReceiveOrder705309Message.do", CXMLString)
%>
What is your problem? Are you getting errors?
What is your problem? Are you getting errors?
I am getting an error: 'Statement cannot appear within a method body.'
Its referring to the sub routine: 'SendRequest'.
Its referring to the sub routine: 'SendRequest'.
skimox,
I put together a sample for you in ASP.NET 1.1 using VB.NET with a code behind model.
I have attached it for your review. You will need to change the URL that is being posted to to your own post url to test (https://stagingportal.ketera.com/procurement/uReceiveOrder705309Message.do). I test my code against a local ASP.NET app that I built for the purpose of testing my cXML applications.
You will want to look at post2.aspx & post2.aspx.vb
Hope this helps,
Josh Blair
Golden, CO
I put together a sample for you in ASP.NET 1.1 using VB.NET with a code behind model.
I have attached it for your review. You will need to change the URL that is being posted to to your own post url to test (https://stagingportal.ketera.com/procurement/uReceiveOrder705309Message.do). I test my code against a local ASP.NET app that I built for the purpose of testing my cXML applications.
You will want to look at post2.aspx & post2.aspx.vb
Hope this helps,
Josh Blair
Golden, CO
The attachment doesn't appear to have taken. Second try...
The attachments aren't working...maybe because I am not a paying member???
See below for the contents of the webform code:
See below for the contents of the webform code:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Post2.aspx.vb" Inherits="cXMLPost.Post2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>cXML Post Test</title>
</head>
<body>
<form id="form1" runat="server">
<p>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label></p>
<p>
<asp:Literal ID="Literal1" runat="server"></asp:Literal></p>
</form>
</body>
</html>
See below for the code in the page behind:
Imports System.Net
Imports System.IO
Partial Public Class Post2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
PostTest()
End Sub
Sub PostTest()
Dim CXMLString = ""
CXMLString = "<?xml version='1.0' encoding='UTF-8'?>"
CXMLString = CXMLString & "<!DOCTYPE cXML SYSTEM 'http://xml.cXML.org/schemas/cXML/1.2.014/cXML.dtd'>"
CXMLString = CXMLString & "<cXML xml:lang='en-US' version='1.2.014' timestamp='2008-12-23T18:25:49-07:00' payloadID='test@specialtyprintcomm.com'>"
CXMLString = CXMLString & "<Response>"
CXMLString = CXMLString & "<Status code=" & Chr(34) & "200" & Chr(34) & "text=" & Chr(34) & "success" & Chr(34) & "></Status>"
CXMLString = CXMLString & "<PunchOutSetupResponse>"
CXMLString = CXMLString & "<StartPage>"
CXMLString = CXMLString & "<URL>http://www.hotleadsmanager.com"
CXMLString = CXMLString & "</URL>"
CXMLString = CXMLString & "</StartPage>"
CXMLString = CXMLString & "</PunchOutSetupResponse>"
CXMLString = CXMLString & "</Response>"
CXMLString = CXMLString & "</cXML>"
SendRequest("http://localhost/ReceiveXML/cxml/default.aspx", CXMLString)
End Sub
Sub SendRequest(ByVal url As String, ByVal request As String)
Dim req As HttpWebRequest
Dim resp As HttpWebResponse
Try
Dim data As Byte() = New UTF8Encoding().GetBytes(request)
req = WebRequest.Create(url)
req.Method = "POST"
req.ContentLength = data.Length
req.ContentType = "text/xml"
req.AllowAutoRedirect = True
req.KeepAlive = False
req.AllowWriteStreamBuffering = True
req.ReadWriteTimeout = 60000
req.ServicePoint.MaxIdleTime = 100000
Dim myStream As Stream
myStream = req.GetRequestStream()
myStream.Write(data, 0, data.Length)
resp = req.GetResponse()
If req.HaveResponse Then
If (resp.StatusCode = HttpStatusCode.OK Or resp.StatusCode = HttpStatusCode.Accepted) Then
Dim sr = New StreamReader(resp.GetResponseStream)
Dim strHTML As String = sr.ReadToEnd
Response.Write(strHTML)
Literal1.Text = "<pre>" & Server.HtmlEncode(strHTML) & "</pre>"
Else
Label1.Text = Label1.Text & "Request failed: " + resp.StatusDescription
End If
End If
Catch ex As Exception
Label1.Text = Label1.Text & ex.Message
End Try
End Sub
End Class
I will admit that I am a newbie at both .net and cXML. So I apologize if I'm missing the obvious. I really appreciate your help.
I have posted the two pages: post2.aspx and post2.aspx.vb with the code as you tested. I also replace the local test server with my ecommerce webhost.
I am getting this error when loading post2.aspx: 'Could not load type 'cXMLPost.Post2'.
Todd
I have posted the two pages: post2.aspx and post2.aspx.vb with the code as you tested. I also replace the local test server with my ecommerce webhost.
I am getting this error when loading post2.aspx: 'Could not load type 'cXMLPost.Post2'.
Todd