Esempio n. 1
0
        private ExternalWSSoapClient getWSClient()
        {
            BasicHttpBinding binding = new BasicHttpBinding();

            binding.AllowCookies           = false;
            binding.BypassProxyOnLocal     = false;
            binding.CloseTimeout           = new TimeSpan(0, 1, 0);
            binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
            binding.MaxBufferPoolSize      = 524288;
            binding.MaxBufferSize          = 65536;
            binding.MaxReceivedMessageSize = 65536;
            binding.MessageEncoding        = WSMessageEncoding.Text;
            binding.Name           = "ExternalWSSoap";
            binding.OpenTimeout    = new TimeSpan(0, 1, 0);
            binding.ReceiveTimeout = new TimeSpan(0, 1, 0);
            XmlDictionaryReaderQuotas readQuot = new XmlDictionaryReaderQuotas();

            readQuot.MaxArrayLength         = 16384;
            readQuot.MaxBytesPerRead        = 4096;
            readQuot.MaxDepth               = 32;
            readQuot.MaxNameTableCharCount  = 16384;
            readQuot.MaxStringContentLength = 8192;
            binding.ReaderQuotas            = readQuot;
            binding.Security.Mode           = BasicHttpSecurityMode.None;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
            binding.Security.Transport.ProxyCredentialType  = HttpProxyCredentialType.None;
            binding.Security.Transport.Realm = "";
            binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
            binding.Security.Message.AlgorithmSuite       = SecurityAlgorithmSuite.Default;
            ExternalWSSoapClient res = new ExternalWSSoapClient(binding, new EndpointAddress(WSUrl));

            return(res);
        }
Esempio n. 2
0
 public override DocsPaIntegration.Search.SearchOutput Search(DocsPaIntegration.Search.SearchInfo searchInfo)
 {
     try
     {
         List <SearchOutputRow> rows   = new List <SearchOutputRow>();
         ExternalWSSoapClient   soap   = getWSClient();
         SearchInfoWS           search = new SearchInfoWS();
         search.Descrizione   = searchInfo.Descrizione;
         search.Codice        = searchInfo.Codice;
         search.PageSize      = searchInfo.PageSize;
         search.RequestedPage = searchInfo.RequestedPage;
         SearchOutputWS outputWS = soap.Search(search);
         if (outputWS.Code == SearchOutputCode.KO)
         {
             throw new SearchException(SearchExceptionCode.SERVER_ERROR, outputWS.ErrorMessage);
         }
         for (int i = 0; i < outputWS.Rows.Length; i++)
         {
             SearchOutputRow row = new SearchOutputRow();
             row.Codice      = outputWS.Rows[i].Codice;
             row.Descrizione = outputWS.Rows[i].Descrizione;
             rows.Add(row);
         }
         SearchOutput res = new SearchOutput(rows, outputWS.NumTotResults);
         return(res);
     }
     catch (SearchException se)
     {
         throw se;
     }
     catch (Exception e)
     {
         throw new SearchException(SearchExceptionCode.SERVICE_UNAVAILABLE);
     }
 }