<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HttpHandlers and HttpModules</title><link>http://forums.asp.net/27.aspx</link><description>Extending the ASP.NET Framework through HttpModules and HttpHandlers.</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/3303814.aspx</link><pubDate>Mon, 20 Jul 2009 13:37:48 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3303814</guid><dc:creator>ecomba</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3303814.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=3303814</wfw:commentRss><description>&lt;p&gt;Thanks Patrick, I need the following help, I have developed an eprocurement application and I need generate a punchout request so that then get the response with the selected 
items and generating a requisition in this eprocurement application.&lt;/p&gt;&lt;p&gt;can you help me with this?&lt;/p&gt;&lt;p&gt;I developed a test application using httpRequest and HttpResponse object, but I get the following error:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;Response&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Status 
code=&amp;quot;400&amp;quot; text=&amp;quot;Bad Request&amp;quot;&amp;gt;No valid To credential was supplied 
[ANCLS-741435]&amp;lt;/Status&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;lt;/Response&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt; &lt;/span&gt;I need urls valids and account for this test. Please Help me.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Thanks &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/3293564.aspx</link><pubDate>Wed, 15 Jul 2009 00:37:23 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3293564</guid><dc:creator>PatrickRR</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3293564.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=3293564</wfw:commentRss><description>&lt;p&gt;I had a few people contact me regarding this issue. The site went live not long after my first post. I never followed up with the resolution. Many years later I took a snippet of the code and pasted it below. It has been a long time since I worked on a punch-out site, so hopefully the code here can help some folks.&amp;nbsp;&amp;nbsp; The code is VB.NET, and today I work in C# and my coding style has changed much since the days of this code... this is my disclaimer. &lt;/p&gt;
&lt;p&gt;Anyway, this is code from a shopping cart page and a check out page. Just in summary. After the user adds items to the cart and is ready to check out I build a session variable with XML. Then server.redirect the user to another page. That page pulls the XML from the session, response.clears the request, writes the new page from the XML session object that has the Ketera XML, and posts to Ketera... then a response comes back... and you know the rest. All login codes and urls have been changed to protect the innocent. &lt;img title="Wink" alt="Wink" src="http://forums.asp.net/tiny_mce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif" border="0" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;1. Page Shopping Cart Page&lt;br /&gt;--------------------------------&lt;/p&gt;
&lt;p&gt;Created XML that will post to Ketera&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;Private Sub BtnLiveCheckOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLiveCheckOut.Click&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strURL As String = Session(&amp;quot;PostCartToURL&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ErrorTest As Boolean = False&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Create_PostForm_CartCXML(&amp;quot;FormCXML&amp;quot;, strURL, &amp;quot;Post&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server.Transfer(&amp;quot;Checkout.aspx&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ErrorTest = True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;EmailType&amp;quot;) = &amp;quot;HTML&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;DBError&amp;quot;) = &amp;quot;Error Posting Cart to Ketera&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;ITSource_Error&amp;quot;) = ex.Message &amp;amp; &amp;quot; Catch All Error CheckOut.aspx: &amp;quot; &amp;amp; ViewState(&amp;quot;ErrorMsg&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ErrorTest = True Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server.Transfer(&amp;quot;dbErrorPage.aspx&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Server.Transfer(&amp;quot;Checkout.aspx&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;====================================================================================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Create the HTML FORM to Post to Ketera &amp;amp; The CXML for thier cart.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;====================================================================================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Create_PostForm_CartCXML(ByVal strFormName As String, ByVal strURL As String, ByVal strMethod As String)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cXML_Form As String = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Build The Post Shopping Cart cXML&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;---------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;1. javascript to submit the form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;---------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;HTML&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;HEAD&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;script type=&amp;#39;text/javascript&amp;#39; language=&amp;#39;javascript&amp;#39;&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot; function SubmitForm(){&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot; document.FormCXML.submit();&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot; }&amp;quot; &amp;amp; vbCrLf &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot; &amp;lt;/script&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;/HEAD&amp;gt;&amp;quot; &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; vbCrLf&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;1. Get the CXML for the form. Do not use URL Encoding&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Dim strCXML As String = Server.UrlEncode(Build_CXML()) &amp;#39;Encoded&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strCXML As String = Build_CXML()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;2. Build the form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Submit the form when the page loads &amp;lt;body onload=&amp;quot;dothis()&amp;quot;&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;BODY onload=&amp;#39;SubmitForm();&amp;#39;&amp;gt; &amp;quot; &amp;amp; vbCrLf&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;lt;form method=&amp;quot;POST&amp;quot; name=&amp;quot;frmFirstPage&amp;quot; action=&amp;quot;&lt;a href="http://localhost/CNF/Test.aspx"&gt;http://localhost/CNF/Test.aspx&lt;/a&gt;&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;FORM method=&amp;#39;&amp;quot; &amp;amp; strMethod &amp;amp; &amp;quot;&amp;#39;&amp;quot; &amp;amp; &amp;quot; name=&amp;#39;&amp;quot; &amp;amp; strFormName &amp;amp; &amp;quot;&amp;#39;&amp;quot; &amp;amp; &amp;quot; action =&amp;#39;&amp;quot; &amp;amp; strURL &amp;amp; &amp;quot;&amp;#39;&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;3.Put CXML data here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;FirstName&amp;quot; Value=&amp;#39;Data Here&amp;#39;&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;input type=&amp;#39;hidden&amp;#39; name=&amp;#39;&amp;quot; &amp;amp; &amp;quot;cXML-urlencoded&amp;quot; &amp;amp; &amp;quot;&amp;#39;&amp;quot; &amp;amp; &amp;quot; Value=&amp;#39;&amp;quot; &amp;amp; strCXML &amp;amp; &amp;quot;&amp;#39;&amp;gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;End of the form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;/FORM&amp;gt;&amp;quot; &amp;amp; vbCrLf &amp;amp; vbCrLf &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;/BODY&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = cXML_Form &amp;amp; &amp;quot;&amp;lt;/HTML&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Hold it and create the form in the next page.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;cXML_Form&amp;quot;) = cXML_Form&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;==============================================================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Build the detail lines for the CXML Submit Form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;==============================================================================&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function Build_CXML() As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sp As New Spider&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strURL As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim PayloadID As String = Session(&amp;quot;PayloadID&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strCartTotal As String = Session(&amp;quot;CartTotal&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim TimeStamp As String = Session(&amp;quot;TimeStamp&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim BuyerCookie As String = Session(&amp;quot;BuyerCookie&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim PostToKeteraURL As String = Session(&amp;quot;PostCartToURL&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Cust_AddressID As String = Session(&amp;quot;Cust_AddressID&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;1. Delete all shopping cart related rows, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp; then insert updated cart. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Delete_ShoppingCart_Rows()&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;2. Save this session info to the DB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CreateUser_TrackingTable(BuyerCookie, PayloadID, TimeStamp, PostToKeteraURL, Cust_AddressID)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;3. Get the Header for the CXML&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strPath As String = Server.MapPath(&amp;quot;./XML_Templates/Punchout_Header_Create.txt&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CXML_Header As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Dim CreateOrEdit As String = Session(&amp;quot;CreateOrEdit&amp;quot;) &amp;#39;create&amp;#39; &amp;#39;edit&amp;#39;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = sp.GetHTML(strPath)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@TimeStamp&amp;quot;, TimeStamp)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@PayLoadID&amp;quot;, PayloadID)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@ArrowDUNS&amp;quot;, &amp;quot;99999992&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@KeteraID&amp;quot;, &amp;quot;AN099999999&amp;quot;) &amp;#39;&amp;gt;&amp;gt; PROD ID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;CXML_Header = Replace(CXML_Header, &amp;quot;@@KeteraID&amp;quot;, &amp;quot;AN088888880-T&amp;quot;) &amp;#39;&amp;gt;&amp;gt; TEST ID&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@BuyerCookie&amp;quot;, BuyerCookie)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@TOTAL&amp;quot;, strCartTotal)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@Shipping&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@Tax&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;CXML_Header = Replace(CXML_Header, &amp;quot;@@CreateOrEdit&amp;quot;, CreateOrEdit)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Header = Replace(CXML_Header, &amp;quot;@@CreateOrEdit&amp;quot;, &amp;quot;edit&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;4. Build the Detail Lines &amp;amp; Save to SQL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CXML_DetailHold, CXML_Detail, CXML_Detail_Accum As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPath = Server.MapPath(&amp;quot;./XML_Templates/PunchOut_Detail_Create.txt&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_DetailHold = sp.GetHTML(strPath)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ds As DataSet = Session(&amp;quot;dsCart&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim row As DataRow&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strCriteria As String = &amp;quot;GroupNumber &amp;gt; 0 &amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strSortOrder As String = &amp;quot;GroupNumber asc&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim aRows As DataRow() = ds.Tables(&amp;quot;Garments&amp;quot;).Select(strCriteria, strSortOrder)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Get each garment row and build the CXML&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For Each row In aRows&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Reset it to the CXML with the @@Fields.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = CXML_DetailHold&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@QTY&amp;quot;, row(&amp;quot;QTY&amp;quot;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@GroupPartID&amp;quot;, row(&amp;quot;GroupItemNumber&amp;quot;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@JDEItemNumber&amp;quot;, row(&amp;quot;JDEItemNumber&amp;quot;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@UnitPrice&amp;quot;, row(&amp;quot;Price&amp;quot;))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim Desc As String = Replace(row(&amp;quot;ItemDescription&amp;quot;), &amp;quot;&amp;#39;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Desc = Trim(Desc) &amp;amp; &amp;quot; #&amp;quot; &amp;amp; row(&amp;quot;JDEItemNumber&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@Description&amp;quot;, Desc)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@UOM&amp;quot;, &amp;quot;EA&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@Shipping&amp;quot;, &amp;quot;0&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail = Replace(CXML_Detail, &amp;quot;@@Shipper&amp;quot;, &amp;quot;&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Accumulate all the detail to return to the form.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail_Accum = CXML_Detail_Accum &amp;amp; CXML_Detail&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; SQL SERVER: Save Garment Shopping Cart.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Save_Garments_To_SQLSERVER(BuyerCookie, row(&amp;quot;GroupNumber&amp;quot;), row(&amp;quot;GroupItemNumber&amp;quot;), row(&amp;quot;ProductType&amp;quot;), row(&amp;quot;SubType&amp;quot;), row(&amp;quot;JDEItemNumber&amp;quot;), row(&amp;quot;SKU&amp;quot;), row(&amp;quot;ItemDescription&amp;quot;), row(&amp;quot;Color&amp;quot;), row(&amp;quot;Size1&amp;quot;), row(&amp;quot;Size2Display&amp;quot;), row(&amp;quot;Size2Real&amp;quot;), row(&amp;quot;Qty&amp;quot;), row(&amp;quot;Price&amp;quot;), row(&amp;quot;ExtPrice&amp;quot;))&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;5. Accumulate all the CXML for the emblems&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;--------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Detail_Accum = CXML_Detail_Accum &amp;amp; Get_Emblems(BuyerCookie, row(&amp;quot;GroupNumber&amp;quot;), CXML_DetailHold)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next row&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;6. Get the trailer, then submit the form&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CXML_Trailer As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strPath = Server.MapPath(&amp;quot;./XML_Templates/PunchOut_Trailer_Create.txt&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CXML_Trailer = sp.GetHTML(strPath)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;7. Return the CXML to the calling sub to add it to the form variable&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim CXML_Complete As String = CXML_Header &amp;amp; vbCrLf &amp;amp; CXML_Detail_Accum &amp;amp; vbCrLf &amp;amp; CXML_Trailer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return CXML_Complete&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/p&gt;
&lt;p&gt;--------------------------------&lt;br /&gt;2. To Post to Ketra....&lt;br /&gt;--------------------------------&lt;/p&gt;
&lt;p&gt;-- Performed a server redirect to another page. That page cleared the response then wrote the Punchout XML to the response.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim cXML_Form As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cXML_Form = Session(&amp;quot;cXML_Form&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Cls_HELP.SendEmail(&amp;quot;CXML Form&amp;quot;, cXML_Form)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Create the form to post back&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Clear()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(cXML_Form)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session.Abandon()&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;------------------------------------------------------------------------&lt;br /&gt;3. These snippets are code for reading the response from Ketera. They &lt;br /&gt;&amp;nbsp;&amp;nbsp; send a Binary Stream not clear XML Text&lt;br /&gt;------------------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Post_Response()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strMsg As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Sample of the cXML Code. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; ?&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp; &amp;lt;!DOCTYPE cXML (View Source for full doctype...)&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;- &amp;lt;cXML payloadID=&amp;quot;&lt;a href="mailto:20099999999999999999999@172.99.999.9"&gt;20099999999999999999999@172.99.999.9&lt;/a&gt;&amp;quot; timestamp=&amp;quot;1011118540&amp;quot; version=&amp;quot;1.1.009&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &amp;lt;Response&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Status code=&amp;quot;200&amp;quot; text=&amp;quot;success&amp;quot; /&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &amp;lt;PunchOutSetupResponse&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &amp;lt;StartPage&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;URL&amp;gt;http://www.supplier.com/web/index.php?b2b_session=155556674&amp;lt;/URL&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StartPage&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/PunchOutSetupResponse&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Response&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; &amp;lt;/cXML&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Create the XML to post to Ketera.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim BuyerCookie As String = Session(&amp;quot;BuyerCookie&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Len(BuyerCookie) = 0 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;ErrorMsg&amp;quot;) = &amp;quot;No buyer Cookie - Post Response Sub&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Session(&amp;quot;StatusCode&amp;quot;) = &amp;quot;406&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Create the XML to post to Ketera.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strPayLoadID As String = Session(&amp;quot;PayloadID&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strTimeStamp As String = Session(&amp;quot;TimeStamp&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strCXML As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Form to submit the CXML to Ketera&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strHTML As String = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strjava As String = &amp;quot;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strKeteraURL As String = Session(&amp;quot;PostCartToURL&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Format cXML. It will be placed in the hidden form field in the next step&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;----------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;A. Create the URL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strMySiteURL As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim StatusCode As String = Session(&amp;quot;StatusCode&amp;quot;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If StatusCode &amp;lt;&amp;gt; &amp;quot;200&amp;quot; Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Give Ketera this ERROR URL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strMsg = Session(&amp;quot;ErrorMsg&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cls_HELP.SendEmail(&amp;quot;Punchout Error - Status Code &amp;lt;&amp;gt; 200!&amp;quot;, strMsg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strMySiteURL = &amp;quot;&lt;a href="https://www.mysite.com/CNF/dBErrorPage.aspx=?ErrorMsg"&gt;https://www.MySite.com/CNF/dBErrorPage.aspx=?ErrorMsg&lt;/a&gt;=&amp;quot; &amp;amp; Server.UrlEncode(strMsg)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Give Ketera this GOOD URL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strMsg = &amp;quot;success&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strMySiteURL = &amp;quot;&lt;a href="https://www.mysite.com/CNF/SetupRequest.aspx?BuyerCookie"&gt;https://www.MySite.com/CNF/SetupRequest.aspx?BuyerCookie&lt;/a&gt;=&amp;quot; &amp;amp; BuyerCookie&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Dim UTF8 As New UTF8Encoding&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;strMySiteURL = Server.UrlEncode(strMySiteURL)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;B. Create the cXML &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;lt;?xml version=&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot;1.0&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot;?&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;lt;!DOCTYPE cXML SYSTEM &amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot;&lt;a href="http://xml.cxml.org/schemas/cXML/1.1.009/cXML.dtd"&gt;http://xml.cxml.org/schemas/cXML/1.1.009/cXML.dtd&lt;/a&gt;&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot;&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot; &amp;lt;cXML payloadID=&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; strPayLoadID &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot; timestamp=&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; strTimeStamp &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot;&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp; &amp;lt;Response&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp; &amp;lt;Status code=&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; StatusCode &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; &amp;quot; text=&amp;quot; &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;quot; &amp;amp; strMsg &amp;amp; &amp;quot;&amp;quot;&amp;quot;&amp;gt;&amp;quot; &amp;amp; &amp;quot; &amp;lt;/Status&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp; &amp;lt;PunchOutSetupResponse&amp;gt; &amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StartPage&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;URL&amp;gt;&amp;quot; &amp;amp; strMySiteURL &amp;amp; &amp;quot;&amp;lt;/URL&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/StartPage&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;nbsp;&amp;nbsp; &amp;lt;/PunchOutSetupResponse&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot; &amp;lt;/Response&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strCXML = strCXML &amp;amp; &amp;quot;&amp;lt;/cXML&amp;gt;&amp;quot; &amp;amp; vbCrLf&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Response.Write(strCXML)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Cls_HELP.SendEmail(&amp;quot;After Response Write&amp;quot;, strCXML)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Get the input data stream, it is not a form post, but a binary data stream.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;-----------------------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Function ReturnStream() As String&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;MSDN Version of this code.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebHttpRequestClassInputStreamTopic.asp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;This is a long verision.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;http://www.eggheadcafe.com/articles/20030813.asp&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim str As Stream, strmContents As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim counter, strLen, strRead As Integer&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Create a Stream object.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str = Request.InputStream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Find number of bytes in stream.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strLen = CInt(str.Length)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Create a byte array.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim strArr(strLen) As Byte&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39; Read stream into byte array.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strRead = str.Read(strArr, 0, strLen)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strmContents = System.Text.Encoding.UTF8.GetString(strArr)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return Server.UrlDecode(strmContents)&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Function&lt;/p&gt;</description></item><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/3269499.aspx</link><pubDate>Wed, 01 Jul 2009 17:38:34 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3269499</guid><dc:creator>ecomba</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3269499.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=3269499</wfw:commentRss><description>&lt;p&gt;Hi, need help to implement a single application with asp.net punchout, please &lt;span&gt; &lt;/span&gt;if someone can provide some code example I would be very useful&lt;/p&gt;&lt;p&gt;Thanks&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/2116606.aspx</link><pubDate>Thu, 17 Jan 2008 22:50:49 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:2116606</guid><dc:creator>thuhue</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/2116606.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=2116606</wfw:commentRss><description>&lt;p&gt;Any update on the above?&lt;/p&gt;</description></item><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/1982355.aspx</link><pubDate>Wed, 31 Oct 2007 03:24:59 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:1982355</guid><dc:creator>tarique_s</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/1982355.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=1982355</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hi Patrick,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;I am working on an ASP.Net punch out website using cXML.org standards. I looked at your post and i am in a similiar position. Were you able to figure out how to implement it? Did you find any useful resources on the web?&lt;/p&gt;
&lt;p&gt;I would appreciate any help you could give me.&lt;/p&gt;
&lt;p&gt;Thanks, &lt;/p&gt;</description></item><item><title>Re: PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/907963.aspx</link><pubDate>Wed, 27 Apr 2005 03:10:20 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:907963</guid><dc:creator>jhouse</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/907963.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=907963</wfw:commentRss><description>&lt;P&gt;take a look at &lt;A href="http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemnethttpwebrequestclasstopic.asp"&gt;&lt;FONT color=#000000&gt;System.Net.HttpWebRequest&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;&amp;nbsp;and HttpWebResponse(&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnetwebrequestclasstopic.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemnetwebrequestclasstopic.asp&lt;/A&gt;)&amp;nbsp;I&amp;nbsp;think that is what you are looking for?&lt;/P&gt;
&lt;P&gt;Also &lt;A href="http://www.codeproject.com/csharp/HttpWebRequest_Response.asp"&gt;http://www.codeproject.com/csharp/HttpWebRequest_Response.asp&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>PunchOut Web Site - Reading Data Stream. Need to Respond back Via Datastream. How?</title><link>http://forums.asp.net/thread/903219.aspx</link><pubDate>Fri, 22 Apr 2005 13:07:01 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:903219</guid><dc:creator>PatrickRR</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/903219.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=27&amp;PostID=903219</wfw:commentRss><description>&lt;P&gt;I am working on a punch-out supplier web site using Ariba cxml.org standards.&lt;BR&gt;&lt;BR&gt;The procurement site is posting a setup request to me. This setup request contains cXML that I transform in my ASP.NET web site to create my response back to the site. In essence completing the “handshake”.&lt;BR&gt;&lt;BR&gt;The problem is, on how to respond back? I cannot do a form post back. The cXML.org site has an ASP web site sample and all it does is just render an HTML page with the XML response in the page. It should contain nothing but the XML. &amp;nbsp;Trying this it does not work either. It appears to me I have to response using some type of output data stream, since I am reading a data stream to get the first request from the site.&lt;BR&gt;&lt;BR&gt;Here are the details. (The procurement site is java, the supplier site, mine, is ASP.NET_&lt;BR&gt;&lt;BR&gt;I. Step 1: The procurement site uses java and posts to my site using the code below. Then I extract their cXML and prepare to communicate back to them a success status code 200.&lt;BR&gt;&lt;BR&gt;&amp;nbsp; 232 &amp;nbsp; &amp;nbsp; &amp;nbsp;public void run(){&lt;BR&gt;&amp;nbsp; &amp;nbsp;233 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {&lt;BR&gt;&amp;nbsp; &amp;nbsp;234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//if(isHttpsConnection) { //HTTPS Connection&lt;BR&gt;&amp;nbsp; &amp;nbsp;235 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//com.sun.net.ssl.HttpsURLConnection connection = (com.sun.net.ssl.HttpsURLConnection) url.openConnection();&lt;BR&gt;&amp;nbsp; &amp;nbsp;236 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;connection = (com.sun.net.ssl.HttpsURLConnection) url.openConnection();&lt;BR&gt;&amp;nbsp; &amp;nbsp;237 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;((com.sun.net.ssl.HttpsURLConnection)connection).setHostnameVerifier(new NullHostnameVerifier());&lt;BR&gt;&amp;nbsp; &amp;nbsp;238 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//} else {&lt;BR&gt;&amp;nbsp; &amp;nbsp;239 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;connection = (HttpURLConnection) url.openConnection();&lt;BR&gt;&amp;nbsp; &amp;nbsp;240 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//}&lt;BR&gt;&amp;nbsp; &amp;nbsp;241&lt;BR&gt;&amp;nbsp; &amp;nbsp;242 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mimeData != null || postData != null){&lt;BR&gt;&amp;nbsp; &amp;nbsp;243 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;connection.setDoOutput(true);&lt;BR&gt;&amp;nbsp; &amp;nbsp;244 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;connection.setRequestMethod(POST);&lt;BR&gt;&amp;nbsp; &amp;nbsp;245&lt;BR&gt;&amp;nbsp; &amp;nbsp;246 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp;-------KSN PHASE II CHANGES--------&lt;BR&gt;&amp;nbsp; &amp;nbsp;248 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;This is to set the BasciAuthSting (encoded)&lt;BR&gt;&amp;nbsp; &amp;nbsp;249 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// This is for Basic Authentication&lt;BR&gt;&amp;nbsp; &amp;nbsp;250 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(sAuthStr != null){&lt;BR&gt;&amp;nbsp; &amp;nbsp;251 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//System.out.println(sAuthStr+"2ndnew");&lt;BR&gt;&amp;nbsp; &amp;nbsp;252 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;connection.setRequestProperty(AUTHORIZATION,sAuthStr);&lt;BR&gt;&amp;nbsp; &amp;nbsp;253 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp; &amp;nbsp;254&lt;BR&gt;&amp;nbsp; &amp;nbsp;255 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;connection.setRequestProperty(CONTENT_TYPE,contentType);&lt;BR&gt;&amp;nbsp; &amp;nbsp;256 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;httpOut = new BufferedOutputStream(connection.getOutputStream(), 1024);&lt;BR&gt;&amp;nbsp; &amp;nbsp;257&lt;BR&gt;&amp;nbsp; &amp;nbsp;258 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mimeData != null) mimeData.writeTo(httpOut);&lt;BR&gt;&amp;nbsp; &amp;nbsp;259 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else httpOut.write(postData);&lt;BR&gt;&amp;nbsp; &amp;nbsp;260&lt;BR&gt;&amp;nbsp; &amp;nbsp;261 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;httpOut.flush();&lt;BR&gt;&amp;nbsp; &amp;nbsp;262 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp; &amp;nbsp;263&lt;BR&gt;&amp;nbsp; &amp;nbsp;264 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(checkResponseCode) &amp;nbsp; {&lt;BR&gt;&amp;nbsp; &amp;nbsp;265 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// === do posting to gxs and get response differently ===&lt;BR&gt;&amp;nbsp; &amp;nbsp;266 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int nResponseCode = connection.getResponseCode();&lt;BR&gt;&amp;nbsp; &amp;nbsp;267 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String nResponseMessage = connection.getResponseMessage();&lt;BR&gt;&amp;nbsp; &amp;nbsp;268 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setResponse(nResponseMessage+"-"+nResponseCode);&lt;BR&gt;&amp;nbsp; &amp;nbsp;269 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {&lt;BR&gt;&amp;nbsp; &amp;nbsp;270 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;in = new BufferedInputStream(connection.getInputStream(), 1024);&lt;BR&gt;&amp;nbsp; &amp;nbsp;271 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bufferOut = new ByteArrayOutputStream(1024);&lt;BR&gt;&amp;nbsp; &amp;nbsp;272 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int val = 0;&lt;BR&gt;&amp;nbsp; &amp;nbsp;273 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while ( (val = in.read()) != -1){&lt;BR&gt;&amp;nbsp; &amp;nbsp;274 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bufferOut.write(val);&lt;BR&gt;&amp;nbsp; &amp;nbsp;275 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp; &amp;nbsp;276 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bufferOut.flush();&lt;BR&gt;&amp;nbsp; &amp;nbsp;277&lt;BR&gt;&amp;nbsp; &amp;nbsp;278 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setResponse(bufferOut.toString("UTF-8"));&lt;BR&gt;&amp;nbsp; &amp;nbsp;279 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} // == end of else loop ===&lt;BR&gt;&amp;nbsp; &amp;nbsp;280&lt;BR&gt;&amp;nbsp; &amp;nbsp;281 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp; &amp;nbsp;282 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch (Exception ex) {&lt;BR&gt;&amp;nbsp; &amp;nbsp;283 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ex.printStackTrace();&lt;BR&gt;&amp;nbsp; &amp;nbsp;284 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&amp;nbsp; &amp;nbsp;285 &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR&gt;&lt;BR&gt;II. Step 2: My ASP.NET Application reads the CXML using a datastream, This works fine I get the XML from the datatream then I transform it and now I need to issue a response back.&lt;BR&gt;&lt;BR&gt;Function ReturnStream() As String&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim str As Stream, strmContents As String&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim counter, strLen, strRead As Integer&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Create a Stream object.&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str = Request.InputStream&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Find number of bytes in stream.&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strLen = CInt(str.Length)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Create a byte array.&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim strArr(strLen) As Byte&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ' Read stream into byte array.&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strRead = str.Read(strArr, 0, strLen)&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; strmContents = System.Text.Encoding.UTF8.GetString(strArr)&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Return Server.UrlDecode(strmContents)&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp; &amp;nbsp; End Function&lt;BR&gt;&lt;BR&gt;III. Step 3: Responding Back. Here comes the problem. The procurement site, in step 1 The developer on their end is telling me two things.&lt;BR&gt;&lt;BR&gt;a. Send the XML back to their site in the same connection. The connection they made in Step #1. How is this done???&lt;BR&gt;b. He also tells me that I can just render the XML in my page and they should get it. I tried this but it does not work so I think option a is what is required.&lt;BR&gt;&lt;BR&gt;Question: How do I send string data back through the same connection that was made in Step 1? Do I have to use an Output Stream similar to the Input Stream used in Step 2? &amp;nbsp;Is this possible? &lt;BR&gt;&lt;BR&gt;This link is to an ASP project &lt;A href="http://xml.cxml.org/current/Fulfill.zip"&gt;http://xml.cxml.org/current/Fulfill.zip&lt;/A&gt; that responds back to a procurement site. In the end all it does is just render an HTML page with XML data and nothing else. Using this example his site does not see the XML. This is why it appears to me I must have to do some type of output stream to the connection made in Step #1.&lt;BR&gt;&lt;BR&gt;I hope someone there can help me on this issue. In all my years of development I have never been stuck on an issue like this before.&lt;BR&gt;&lt;BR&gt;In summary: I am looking for ASP.NET (vb.net) code that allows me to responds with the contents of a string variable back to the requestor in Step1. This string variable will contain XML data.&lt;BR&gt;&lt;BR&gt;I have spent countless hours on this issue of pushing my response back to his java application. I am totally stuck. Either I am getting bad information from the vendor, their site has problems and I cannot just render an HTML page with the XML.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;IV. This is the java code that would read the response sent in III above.&amp;nbsp;&amp;nbsp;The java site using this code the read the repsonse back from my asp.net site. Hope this adds something to help solve this issue.&lt;BR&gt;&lt;BR&gt;287 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected Document parseRequest() throws Exception&lt;BR&gt;&amp;nbsp; &amp;nbsp;288 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;BR&gt;&amp;nbsp; &amp;nbsp;289 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();&lt;BR&gt;&amp;nbsp; &amp;nbsp;290 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DocumentBuilder builder = null;&lt;BR&gt;&amp;nbsp; &amp;nbsp;291&lt;BR&gt;&amp;nbsp; &amp;nbsp;292 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//get the xmlstring in the response&lt;BR&gt;&amp;nbsp; &amp;nbsp;293 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ServletInputStream is =request.getInputStream();&lt;BR&gt;&amp;nbsp; &amp;nbsp;294&lt;BR&gt;&amp;nbsp; &amp;nbsp;295 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InputStreamReader isr = new InputStreamReader(is,"UTF8");&lt;BR&gt;&amp;nbsp; &amp;nbsp;296&lt;BR&gt;&amp;nbsp; &amp;nbsp;297&lt;BR&gt;&amp;nbsp; &amp;nbsp;298 &amp;nbsp; &amp;nbsp; &amp;nbsp;/*&lt;BR&gt;&amp;nbsp; &amp;nbsp;299 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuffer sb = new StringBuffer("");&lt;BR&gt;&amp;nbsp; &amp;nbsp;300 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int ch=0;&lt;BR&gt;&amp;nbsp; &amp;nbsp;301 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while ((ch=isrb.read()) !=-1)&lt;BR&gt;&amp;nbsp; &amp;nbsp;302 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;BR&gt;&amp;nbsp; &amp;nbsp;303 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sb.append((char) ch);&lt;BR&gt;&amp;nbsp; &amp;nbsp;304 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;BR&gt;&amp;nbsp; &amp;nbsp;305&lt;BR&gt;&amp;nbsp; &amp;nbsp;306 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CXMLUtilities.logMessage(sb.toString());&lt;BR&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;BR&gt;Regards,&lt;BR&gt;Patrick&lt;/P&gt;</description></item></channel></rss>