{"id":2268,"date":"2013-04-24T16:06:21","date_gmt":"2013-04-24T07:06:21","guid":{"rendered":"http:\/\/auctionpro.co.kr\/?p=2268"},"modified":"2023-02-22T11:28:19","modified_gmt":"2023-02-22T02:28:19","slug":"c-soapsample","status":"publish","type":"post","link":"https:\/\/www.auctionpro.co.kr\/?p=2268","title":{"rendered":"C# SoapSample credentials (ID Password)"},"content":{"rendered":"\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"lang:vim decode:true \" title=\"SoapClass\" >using System.Xml;\nusing System.Net;\nusing System.IO;\nusing System.Text;\n\nnamespace UniRecord\n{\n    public class SoapClass\n    {\n        public static string CallWebService()\n        {\n            var _url = \"https:\/\/test.com\/B2BGateway\/connect\/uAPI\";\n            var _action = \"https:\/\/test.com\/uAPI\/UniversalRecordService\"; \/\/EndPoint\n\n            XmlDocument soapEnvelopeXml = CreateSoapEnvelope();\n            HttpWebRequest webRequest = CreateWebRequest(_url, _action);\n            InsertSoapEnvelopeIntoWebRequest(soapEnvelopeXml, webRequest);\n\n            \/\/ begin async call to web request.\n            IAsyncResult asyncResult = webRequest.BeginGetResponse(null, null);\n\n            \/\/ suspend this thread until call is complete. You might want to\n            \/\/ do something usefull here like update your UI.\n            asyncResult.AsyncWaitHandle.WaitOne();\n\n            \/\/ get the response from the completed web request.\n            string soapResult;\n            using (WebResponse webResponse = webRequest.EndGetResponse(asyncResult))\n            {\n                using (StreamReader rd = new StreamReader(webResponse.GetResponseStream()))\n                {\n                    soapResult = rd.ReadToEnd();\n                }\n            }\n            return soapResult;\n        }\n\n        private static HttpWebRequest CreateWebRequest(string url, string action)\n        {\n            string credentials = \"ID:Password\";\n            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(action); \/\/action \uc0ac\uc6a9\n            webRequest.Headers.Add(\"Authorization\", \"Basic \" + Convert.ToBase64String(Encoding.UTF8.GetBytes(credentials)));\n            webRequest.ContentType = \"text\/xml;charset=\\\"utf-8\\\"\";\n            webRequest.Accept = \"text\/xml\";\n            webRequest.Method = \"POST\";\n\n            return webRequest;\n        }\n\n        private static XmlDocument CreateSoapEnvelope()\n        {\n            XmlDocument soapEnvelop = new XmlDocument();\n            soapEnvelop.LoadXml(@\"&lt;soapenv:Envelope xmlns:soapenv='http:\/\/schemas.xmlsoap.org\/soap\/envelope\/' xmlns:univ='http:\/\/www.travelport.com\/schema\/universal_v31_0' xmlns:com='http:\/\/www.travelport.com\/schema\/common_v31_0'&gt;\" +\n                                               \"&lt;soapenv:Header&gt;\" +\n                                                  \"&lt;univ:SupportedVersions\/&gt;\" +\n                                               \"&lt;\/soapenv:Header&gt;\" +\n                                               \"&lt;soapenv:Body&gt;\" +\n                                                  \"&lt;univ:UniversalRecordRetrieveReq TraceId='trace' AuthorizedBy='user' TargetBranch='ID'  RetrieveProviderReservationDetails='false' ViewOnlyInd='false'&gt;\" +\n                                                     \"&lt;com:BillingPointOfSaleInfo OriginApplication='UAPI'\/&gt;\" +\n                                                     \"&lt;univ:UniversalRecordLocatorCode&gt;PNR001&lt;\/univ:UniversalRecordLocatorCode&gt;\" +\n                                                  \"&lt;\/univ:UniversalRecordRetrieveReq&gt;\" +\n                                               \"&lt;\/soapenv:Body&gt;\" +\n                                            \"&lt;\/soapenv:Envelope&gt;\");\n            return soapEnvelop;\n        }\n\n        private static void InsertSoapEnvelopeIntoWebRequest(XmlDocument soapEnvelopeXml, HttpWebRequest webRequest)\n        {\n            using (Stream stream = webRequest.GetRequestStream())\n            {\n                soapEnvelopeXml.Save(stream);\n            }\n        }\n\n\n    }\n}\n \uc0ad\uc81c<\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><br>\ucc38\uc870 :\u00a0http:\/\/stackoverflow.com\/questions\/4791794\/client-to-send-soap-request-and-received-respons<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>\ucc38\uc870 :\u00a0http:\/\/stackoverflow.com\/questions\/4791794\/client-to-send-soap-request-and-received-respons<\/p>\n<\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-2268","post","type-post","status-publish","format-standard","hentry","category-devc"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2268","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2268"}],"version-history":[{"count":0,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/2268\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2268"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2268"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.auctionpro.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}