SDS Explorer does not have Webproxy support?

Answered SDS Explorer does not have Webproxy support?

  • 17 февраля 2009 г. 8:06
     
     
    Not really able to find this anywhere..

    Does SDS explorer comes with SDS SDK have web proxy support? I am behind proxy in my organization and want to work with SDS explorer..

    Can anybody help?

    Regards,
    Laxmikant

Все ответы

  • 17 февраля 2009 г. 23:45
     
     Отвечено
    It  does not come with proxy support.  But if you browse through the posts in this forum, you can get excerpts as to how to setup to use in a proxy environment.   However if you are looking for the explorer kind of the functionality then there is a Omega client posted by Gaurav, which should work from behind a firewall using IE.

    -Anil
  • 18 февраля 2009 г. 4:04
     
     
    Laxmikant,

    Here is the thread for Omega.SDSClient, that Anil was talking about:

    http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thread/a4ce8e32-358a-4836-84cf-0d7344a12c15/

    Let me know if this helps you.

    Thanks

    Gaurav
  • 18 февраля 2009 г. 4:14
     
     Отвечено
    Thanks Gaurav.

    But I was able to resolve the issue. I created my custom webproxy with proxy settings set to this proxy in sdsexplorer config file and it worked.

    Thanks anyways, I'll look into Omega tool as well.

    Regards,
    Laxmikant
    • Помечено в качестве ответа Laxmikant 18 февраля 2009 г. 4:14
    •  
  • 18 февраля 2009 г. 5:24
     
     
    Gaurav,

    I took a look at the Omega.SDSClient site. I am getting following error, can u pls help:

    [CrossDomainError]
    Arguments:https://webservices.cerebrata.com/Omega.SDSService//SDSService.svc
    Debugging resource strings are unavailable. Often the key and arguments provide sufficient information .......

  • 18 февраля 2009 г. 5:32
     
     

    Laxmikant,

    Which browser are you using? I tried it in IE (7) and it is working fine for me. We do have an issue with using Omega.SDSClient on FireFox though. For some reason FF does not recognize the SSL certificates issued from GoDaddy.com (We purchased our SSL certificates from GoDaddy.com)

    Please let me know if you are getting this error in IE?

    Thanks

    Gaurav

  • 18 февраля 2009 г. 5:40
     
     
    Gaurav,

    I am too using IE 7.0 but I am on Vista. As you pointed out I am getting certificate error too. Do I have do any IE seettings?

    Regards,
    Laxmikant
  • 18 февраля 2009 г. 6:09
     
     
    Laxmikant,

    I think I know the cause of the error. I was trying it on IE 7 (Vista) and is working fine. Then I realized that you are behind a proxy. Since we don't have a proxy in our environment, I tried running this by first running fiddler (which essentially acts as an HTTP proxy). I went with default settings and I was able to simulate this error. Furthermore I believe you also got an error about the validity of SSL certificates as well. Am I correct?

    However in my proxy settings in IE (Tools --> Internet Options --> Connection --> Lan Settings --> Proxy Server --> Advanced), if I remove the entry for secure (just below HTTP: setting) everything works fine. Since I don't know the infrastructure on your end and not sure if you could make this change, but please try this out if you can and let me know if this works out for you.

    Obviously this is an issue we need to find out and fix. If you run into further issues, please feel free to email me at gmantri at cerebrata dot com.

    Thanks

    Gaurav
  • 18 февраля 2009 г. 6:55
     
     
    Gaurav,

    Tried removing secure proxy settings..still not working..now it does not even go on internet for https sites, since proxy for https is now removed.

    so, let me know what shld be done?

    Regds,
    Laxmikant
  • 27 февраля 2009 г. 5:47
     
     

    Hi Gaurav,

    Please let me the details of the settings you have done to solve the proxy issue. I am facing the same issue with SDS explorer.

    Thank You,

    Viajy

     

  • 27 февраля 2009 г. 6:03
     
     

    Hi Vijay,

     

    Laxmikant said:

    Thanks Gaurav.

    But I was able to resolve the issue. I created my custom webproxy with proxy settings set to this proxy in sdsexplorer config file and it worked.

    Thanks anyways, I'll look into Omega tool as well.

    Regards,
    Laxmikant



    Laxmikant would be the best person to answer the proxy configuration for SDS Explorer. He ran into an issue with using Omega.SDSClient initially but that was because of some SSL certificate issues on our end which we took care of. You should be able to access Omega.SDSClient seamlessly behind your proxy without making any changes.

    Please let me know if I could be of further help with this matter.

     

    Thanks

    Gaurav

  • 27 февраля 2009 г. 6:27
     
     

    Hi Laxmikant,

    I am trying to setup the SDS explorer. I am getting proxy error. Could you please share settings you have made in the config file?

    Thank You,

    Vijay.

     

  • 27 февраля 2009 г. 6:33
     
     Отвечено

    Vijay,

    Follow these steps:

    1. Create you own proxy class by inheriting with IWebProxy and set the default credentials of proxy address, userid and pwd in the constructor. You may keep your proxyaddr/username/pwd settings in sdsexplorer.exe.config file as well in appsettings section

    2. add following settings in sdsexplorer.exe.config file under <system.net> section.

       <system.net>    

        <defaultProxy enabled="true" useDefaultCredentials="false">

       <module type = "<namespace>.<classname>, <assemblyname>" />

     </defaultProxy

    </system.net>

    Run the SDS Explorer now, it should work.

    • Помечено в качестве ответа Laxmikant 27 февраля 2009 г. 7:24
    •  
  • 27 февраля 2009 г. 13:27
     
     

    Hi Laxmikant,

    Now it is throwing the following exception... Please help me in resolving this issue

    System.Net.WebException. The underlying connection was closed. an unexpected error occured on a receive. --> System.IO.IOException: unable to read data from transport connection: The connection was closed.
       at System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
       at System.Net.HttpWebRequest.MakeMemoryStream(Stream stream)
    --- End of inner exception stack trace ---
    at System.Net.HttpWebRequest.GetResponse()
    at Microsoft.Sds.SDK.SdsExplorer.RestService.Get(Uri address)
    at Microsoft.Sds.SDK.SdsExplorer.MainWindow.OnGet(Object sender, EventArgs e)

  • 28 февраля 2009 г. 6:21
     
     
    Have created a your own proxy DLL and copied your new proxy dll in the root folder of sds (same folder of config file)?

    If yes, could you please paste the code you have written in proxy dll?

    Regards,
    Laxmikant
  • 2 марта 2009 г. 5:19
     
     

    Hi Laxmikant,

    I have re-done everything afresh. It looks like proxy issue is resolved but the following exception is coming:-

    I am doing this - Clicking on SDS Explorer -> clicling on Authority button -> Clicking on Get button -> providing credentials.


    NameResolutionFailure
      System.Net.WebException: The remote name could not be resolved:'863748e8-12c5-4431-8a0f-ab53c62f36cc.data.database.windows.net'
                    at System.Net.HttpWebRequest.GetResponse()
                    at Microsoft.Sds.SDK.SdsExplorer.RestService.Get(Uri address)
                    at Microsoft.Sds.SDK.SdsExplorer.MainWindow.OnGet(Object sender, EventArgs e)    



     

    Here is the code i have writtem:-
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;

    namespace CustomProxy
    {
        public class MyOwnProxy : IWebProxy
        {


            NetworkCredential obj = new NetworkCredential("satyam\vc14389", "*****");

            public ICredentials Credentials
            {
                get
                {

                    return new NetworkCredential("vc14389", "*****", "Satyam");
                }
                set
                {
                    ;
                }
            }

            public bool IsBypassed(System.Uri a)
            {
                return true;
            }

            public Uri GetProxy(System.Uri a)
            {
                return new System.Uri("http://172.16.184.5/");
            }
        }
    }

    Config Entries:-
    <system.net>

        <defaultProxy enabled="true" useDefaultCredentials="false">

          <module type = "CustomProxy.MyOwnProxy, CustomProxy" />

        </defaultProxy>

      </system.net>

    Thank You,
    Vijay Kumar.

  • 2 марта 2009 г. 6:13
     
     Отвечено
    Hi Vijay,

    Your proxy issue is definitely resolved.
    Regarding this exception, there is no authority created of this name, thats why it is giving the exception while getting it. With Get, it tries to retrieve the authority which is specified in name.

    Create an autority first and then try to get it, you will not get any exception.

    Regards,
    Laxmikant
    • Помечено в качестве ответа Laxmikant 2 марта 2009 г. 16:28
    •  
  • 23 июля 2009 г. 16:30
     
     
    Hi Laxmikant,

    If I dont want to give the credientials in the Code. But I want to give that in the Web.config file what can I do..?
    Can you explain the below mentioned thing in detail.




    If you don't want default credentials...      Tibor19   |   Edit   |   Hide History
    Please Wait  Please Wait
    If you don't want default credentials...  |  Modified on 3/19/2009 5:17 AM by Tibor19
    Just change to defaultCredentials="false".
    If you want a username and password on your web.config, just add the info as attributes for the network element:
    userName="your_username" password="your_password"
  • 23 июля 2009 г. 16:34
     
     
    Karthi,

    I have already explained that above..

    You need to create a custom web proxy and inject it using System.Net in web.config (or app.config) like this.

    < system.net >    

        < defaultProxy enabled = "true " useDefaultCredentials = "false ">

       < module type = "<namespace>.<classname>, <assemblyname> " />

     </ defaultProxy >

    </ system.net >

    You can provide the user name / pwd setting in app settings in web.config (or app.config).

    Regards,
    Laxmikant
  • 24 июля 2009 г. 4:21
     
     
    Hi Laxmikant ,

    In module tag what name space I need to specify. < module type = "<namespace>.<classname>, <assemblyname> " />

    Actually my requirement is, One of my webPart needs to get data from internet. Where as the server dont have internet connection. But the domine users will be having the connection. By default it is not taking the user crediantials. So I need to specify the details explicitly.

    I will be thankful IF u can help me in this regard.

    Regards,
    Karthi.
  • 24 июля 2009 г. 5:27
     
     Предложенный ответ
    Karthi,

    That is the namespace and class name of your custom proxy class you will be creating.

    Regds,
    Laxmikant
    • Предложено в качестве ответа karthifrequent 24 июля 2009 г. 5:36
    •  
  • 24 июля 2009 г. 7:49
     
     Предложенный ответ
    Hi all, Finally i resolved my issue.
    The issue is that when we use the webPart connects to internet in MOSS portal it is searching for the defualt proxy settings.
     Normally server wont have net connection. So it will not find the connected URl and gives the error.
    So what I did is created the seperate connection file for the proxy. Called the connection file in web.config.

    Giving credientials in web.config file works fine here. N
    ow everything works fine.


    Regards,
    Karthi Kumar K.

    namespace
    ProxyConnections 
     {
    public class MyProxy : IWebProxy
    { 
    string proxyUserName = ConfigurationManager.AppSettings["proxyUserNameKey"];
    string proxyPassword = ConfigurationManager.AppSettings["proxyPasswordKey"]; 
    string proxyDomain = ConfigurationManager.AppSettings["proxyDomainKey"];
    string proxyURL = ConfigurationManager.AppSettings["proxyURLKey"];
    public ICredentials Credentials {
    get
    {
    return new NetworkCredential(proxyUserName, proxyPassword, proxyDomain);
    }
    set
    {
    }
    }
    public Uri GetProxy(Uri destination)
    {
    return new Uri(proxyURL);
    }
    public bool IsBypassed(Uri host)
    {
    return false;
    }
    }
    }

    web.config is:
    <configuration>
    <
    system.net>
    <
    defaultProxy enabled ="true" useDefaultCredentials="false" >
    <
    module type = "ProxyConnections.MyProxy,ProxyConnections" />
    </
    defaultProxy>
    </
    system.net>
    </
    configuration>

     You need to specify the credentials in app settings.

    Regards,
    Karthi.