/// <summary> /// Endpoint discovery via UDDI binding key /// </summary> /// <param name="bindingKey"></param> /// <param name="discoveryEndpointAddress"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="securityEndpointAddress"></param> /// <returns></returns> public string[] DiscoverEndpointBindingKey(string bindingKey, string authtokenb) { if (bindingKey == null) { throw new ArgumentNullException("bindingKey"); } string authTok = null; if (authrequired && String.IsNullOrEmpty(authtokenb)) { authTok = getAuthToken(); } else { authTok = authtokenb; } get_bindingDetailRequest1 req = new get_bindingDetailRequest1(); req.get_bindingDetail = new get_bindingDetail2(); req.get_bindingDetail.bindingKey = new string[1]; req.get_bindingDetail.bindingKey[0] = bindingKey; if ((authTok != null) && (authrequired == true)) { req.get_bindingDetail.authInfo = authTok; } find_bindingResponse1 response = null; try { response = inquiryclient.get_bindingDetail(req); } catch (Exception ex) { throw new Exception(discoveryError, ex); } get_serviceDetail2 sreq = new get_serviceDetail2(); List <string> ret = new List <string>(); if (response != null && response.bindingDetail != null && response.bindingDetail.bindingTemplate != null) { foreach (bindingTemplate2 bt in response.bindingDetail.bindingTemplate) { //if (bt.Signature != null) // if (!VerifySignature(bt)) // throw new Exception (signatureError); accessPoint2 ap = bt.Item as accessPoint2; if (ap != null) { string[] apList = parseResults(ap, authTok); if (apList != null) { for (int k = 0; k < apList.Length; k++) { ret.Add(apList[k]); } } } hostingRedirector2 hr = bt.Item as hostingRedirector2; if (hr != null) { string[] urls = DiscoverEndpointBindingKey(hr.bindingKey, authTok); if (urls != null) { for (int i = 0; i < urls.Length; i++) { ret.Add(urls[i]); } } } } } return(ret.ToArray()); }
/// <summary> /// Endpoint discovery via UDDI binding key /// </summary> /// <param name="bindingKey"></param> /// <param name="discoveryEndpointAddress"></param> /// <param name="username"></param> /// <param name="password"></param> /// <param name="securityEndpointAddress"></param> /// <returns></returns> public string[] DiscoverEndpointBindingKey(string bindingKey, string authtokenb) { if (bindingKey == null) throw new ArgumentNullException("bindingKey"); string authTok = null; if (authrequired && String.IsNullOrEmpty(authtokenb)) authTok = getAuthToken(); else authTok = authtokenb; get_bindingDetailRequest1 req = new get_bindingDetailRequest1(); req.get_bindingDetail = new get_bindingDetail2(); req.get_bindingDetail.bindingKey = new string[1]; req.get_bindingDetail.bindingKey[0] = bindingKey; if ((authTok != null) && (authrequired == true)) { req.get_bindingDetail.authInfo = authTok; } find_bindingResponse1 response = null; try { response = inquiryclient.get_bindingDetail(req); } catch (Exception ex) { throw new Exception(discoveryError, ex); } get_serviceDetail2 sreq = new get_serviceDetail2(); List<string> ret = new List<string>(); if (response != null && response.bindingDetail != null && response.bindingDetail.bindingTemplate != null) foreach (bindingTemplate2 bt in response.bindingDetail.bindingTemplate) { //if (bt.Signature != null) // if (!VerifySignature(bt)) // throw new Exception (signatureError); accessPoint2 ap = bt.Item as accessPoint2; if (ap != null) { string[] apList = parseResults(ap, authTok); if (apList != null) for (int k = 0; k < apList.Length; k++) ret.Add(apList[k]); } hostingRedirector2 hr = bt.Item as hostingRedirector2; if (hr != null) { string[] urls = DiscoverEndpointBindingKey(hr.bindingKey, authTok); if (urls != null) for (int i = 0; i < urls.Length; i++) ret.Add(urls[i]); } } return ret.ToArray(); }