public void PublishBinding(string url, string serviceKey) { try { get_authTokenRequest r = new get_authTokenRequest(); r.get_authToken = new get_authToken1(); r.get_authToken.cred = util.DE(encryptedpassword); r.get_authToken.userID = username; get_authTokenResponse res = securityclient.get_authToken(r); save_bindingRequest req = new save_bindingRequest(); req.save_binding = new save_binding1(); req.save_binding.authInfo = res.authToken.authInfo; req.save_binding.bindingTemplate = new bindingTemplate2[1]; req.save_binding.bindingTemplate[0] = new bindingTemplate2(); req.save_binding.bindingTemplate[0].serviceKey = serviceKey; accessPoint2 ap = new accessPoint2(); ap.useType = "endpoint"; ap.Value = url; req.save_binding.bindingTemplate[0].Item = ap; find_bindingResponse1 res2 = publishclient.save_binding(req); } catch (Exception ex) { throw ex; } }
/// <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()); }