473,789 Members | 2,419 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

SIP Proxy Server Help

9 New Member
Good day every one,
i just try to develop a sip proxy with mjsip's library,
now i am facing problem,
1st, the client is connected to proxy,
but it can make call (VoIP) to another client,
the client i using to test is the window messenger 5.1 (with sip support).

anybody can help me look on the code and try to tell me what is going wrong pls..

the packet of the client send to proxy just stop at the updateProxingRe sponse method then the client directly shows the connection has be declined by another user. i wonder what is happening.

Please somebody help..it's urgent for my assignment

cause the code it's quite long, so someone that willing to help me please give me ur email then i will send it to u, just 1 page of source code. Thanks.

after that we discuss it here.
Mar 20 '07 #1
8 2162
r035198x
13,262 MVP
Good day every one,
i just try to develop a sip proxy with mjsip's library,
now i am facing problem,
1st, the client is connected to proxy,
but it can make call (VoIP) to another client,
the client i using to test is the window messenger 5.1 (with sip support).

anybody can help me look on the code and try to tell me what is going wrong pls..

the packet of the client send to proxy just stop at the updateProxingRe sponse method then the client directly shows the connection has be declined by another user. i wonder what is happening.

Please somebody help..it's urgent for my assignment

cause the code it's quite long, so someone that willing to help me please give me ur email then i will send it to u, just 1 page of source code. Thanks.

after that we discuss it here.
Is the updateProxingRe sponse method too long as well? If not you can just post that here.
Mar 20 '07 #2
chuwfan
9 New Member
protected Message updateProxingRe sponse(Message resp)
{ printLog("insid e updateProxingRe sponse(resp)",L ogLevel.MEDIUM) ;
System.out.prin tln("header for response");
ViaHeader vh=new ViaHeader((Head er)resp.getVias ().getHeaders() .elementAt(0));
if (vh.getHost().e quals(sip_provi der.getViaAddre ss())) resp.removeViaH eader();
return resp;
}


actually it's can function well before i implements TransactionClie ntListener with the proxy.

here i paste the updateProxingRe sponse method, the code actually is about 400 lines, is it ok to paste it all here?

thanks for ur reply.
Mar 20 '07 #3
r035198x
13,262 MVP
protected Message updateProxingRe sponse(Message resp)
{ printLog("insid e updateProxingRe sponse(resp)",L ogLevel.MEDIUM) ;
System.out.prin tln("header for response");
ViaHeader vh=new ViaHeader((Head er)resp.getVias ().getHeaders() .elementAt(0));
if (vh.getHost().e quals(sip_provi der.getViaAddre ss())) resp.removeViaH eader();
return resp;
}


actually it's can function well before i implements TransactionClie ntListener with the proxy.

here i paste the updateProxingRe sponse method, the code actually is about 400 lines, is it ok to paste it all here?

thanks for ur reply.
I don't think that will help much yet. Can you describe a bit what happens when you run it.
Mar 20 '07 #4
chuwfan
9 New Member
ok,
i try to track the flow when i connect with the client and try to call another client.

what i get is,

1st it go to the processRequestT oLocalUser method and then make a SipURL url=new SipURL((String) (targets.elemen tAt(i))); object.

2nd it go to the header part, updateProxingRe quest method, and then go through it and add Record-Route then add ViaHeader.

3rd it suddenly jump back to the processRequestT oRemoteUA method that i wonder why it go to that method, after that it go to the header part again,

lastly, it stop at the add ViaHeader part there, then stop.
then the other side's client didn't get any call from the client1 that calling,
then the client1 will show that request is decline by client2.

it seems it never go to the ProcessResponse method and updateProxingRe sponse method at all.
(when delete the processRequestT oRemoteUA method, it will go to the ProcessResponse method and then to the updateProxingRe sponse method ...then stop right there).

if i no delete the processRequestT oRemoteUA method, it will just stop at the add viaheader part.

is it blur from my explanation?
if still can't imagine, i wish to send you the page of code so that you can try to help me more effectively.

Thanks.
Mar 20 '07 #5
chuwfan
9 New Member
it feels like stuck at middle cause by some part of the coding,
i try so hard to debug it,
but still can't get it.
Mar 20 '07 #6
chuwfan
9 New Member
Expand|Select|Wrap|Line Numbers
  1. public class Proxy extends Registrar implements TransactionClientListener
  2. {
  3.    /** Log of processed calls */
  4.    CallLogger call_logger;
  5.  
  6.        /** Transactions state */
  7.        protected StatefulProxyState state=null;
  8.  
  9.       /** SipProvider for client transactions */
  10.       protected SipProvider sip_provider_client;
  11.  
  12.       /** SipProvider for server transactions */
  13.       protected SipProvider sip_provider_server;
  14.  
  15.       /** Inits the stateful server */
  16.       private void init()
  17.       {  sip_provider_client=sip_provider;
  18.          sip_provider_server=sip_provider;
  19.          state=new StatefulProxyState();
  20.    }
  21.  
  22.    /** Costructs a void Proxy */
  23.    protected Proxy() {}
  24.  
  25.    /** Costructs a new Proxy that acts also as location server for registered users. */
  26.    public Proxy(SipProvider provider, ServerProfile server_profile)
  27.    {  super(provider,server_profile);
  28.            init();
  29.            System.out.println("Constructed");
  30.       if (server_profile.call_log) call_logger=new CallLoggerImpl(SipStack.log_path+"//"+provider.getViaAddress()+"."+provider.getPort()+"_calls.log");
  31.    }
  32.  
  33.  
  34.    /** When a new request is received for the local server. */
  35.    public void processRequestToLocalServer(Message msg)
  36.    {  printLog("inside processRequestToLocalServer(msg)",LogLevel.MEDIUM);
  37.       if (msg.isRegister())
  38.       {  super.processRequestToLocalServer(msg);
  39.       System.out.println("isRegister(localserver)");
  40.       }
  41.       else
  42.       if (!msg.isAck())
  43.       {  // send a stateless error response
  44.          //int result=501; // response code 501 ("Not Implemented")
  45.          //int result=485; // response code 485 ("Ambiguous");
  46.          int result=484; // response code 484 ("Address Incomplete");
  47.          Message resp=MessageFactory.createResponse(msg,result,SipResponses.reasonOf(result),null);
  48.          sip_provider.sendMessage(resp);
  49.       }
  50.    }
  51.  
  52.  
  53.    /** When a new request message is received for a local user */
  54.    public void processRequestToLocalUser(Message msg)
  55.    {  printLog("inside processRequestToLocalUser(msg)",LogLevel.MEDIUM);
  56.  
  57.       if (server_profile.call_log) call_logger.update(msg);
  58.  
  59.       if (server_profile.do_proxy_authentication && !msg.isAck() && !msg.isCancel())
  60.       {  // check message authentication
  61.          Message err_resp=as.authenticateProxyRequest(msg);
  62.          if (err_resp!=null)
  63.          {  sip_provider.sendMessage(err_resp);
  64.          System.out.println("localuser");
  65.             return;
  66.          }
  67.       }
  68.  
  69.        TransactionServer ts;
  70.             if (msg.isInvite()) ts=new InviteTransactionServer(sip_provider_server,msg,null);
  71.             else ts=new TransactionServer(sip_provider_server,msg,null);
  72.             //ts.listen();
  73.  
  74.             if (server_profile.do_proxy_authentication && !msg.isAck() && !msg.isCancel())
  75.             {  // check message authentication
  76.                Message err_resp=as.authenticateProxyRequest(msg);
  77.                System.out.println("StfulltransactionServer");
  78.                if (err_resp!=null)
  79.                {  ts.respondWith(err_resp);
  80.                   return;
  81.                }
  82.             }
  83.  
  84.  
  85.       // message targets
  86.       Vector targets=getTargets(msg);
  87.  
  88.       if (targets.isEmpty())
  89.       {
  90.          SipURL request_uri=msg.getRequestLine().getAddress();
  91.          System.out.println("request_uri");
  92.       }
  93.       if (targets.isEmpty())
  94.       {  printLog("No target found, message discarded",LogLevel.HIGH);
  95.          if (!msg.isAck()) sip_provider.sendMessage(MessageFactory.createResponse(msg,404,SipResponses.reasonOf(404),null));
  96.          return;
  97.       }
  98.  
  99.       printLog("message will be forwarded to all user's contacts",LogLevel.MEDIUM);
  100.       for (int i=0; i<targets.size(); i++)
  101.       {  SipURL url=new SipURL((String)(targets.elementAt(i)));
  102.       System.out.println("SIPURL");
  103.          Message request=new Message(msg);
  104.          request.removeRequestLine();
  105.          request.setRequestLine(new RequestLine(msg.getRequestLine().getMethod(),url));
  106.  
  107.          updateProxingRequest(request);
  108.          sip_provider.sendMessage(request);
  109.          TransactionClient tc;
  110.          if (msg.isInvite()) tc=new InviteTransactionClient(sip_provider_client,request,this);
  111.          else tc=new TransactionClient(sip_provider_client,request,this);
  112.          state.addClient(ts,tc);
  113.       }
  114.    }
  115.  
  116.  
  117.   // When a new request message is received for a remote UA
  118.      public void processRequestToRemoteUA(Message msg)
  119.      {  printLog("inside processRequestToRemoteUA(msg)",LogLevel.MEDIUM);
  120.       System.out.println("request remote UA");
  121.  
  122.         if (call_logger!=null) call_logger.update(msg);
  123.  
  124.         if (!server_profile.is_open_proxy)
  125.         {  // check whether the caller is a local user
  126.            SipURL from_url=msg.getFromHeader().getNameAddress().getAddress();
  127.            String from_username=from_url.getUserName();
  128.            String from_hostaddr=from_url.getHost();
  129.            String caller=(from_username==null)? from_hostaddr : from_username+"@"+from_hostaddr;
  130.            if (!location_service.hasUser(caller))
  131.            {  // but do not filter messages directed to local users
  132.               SipURL to_url=msg.getToHeader().getNameAddress().getAddress();
  133.               String to_username=to_url.getUserName();
  134.               String to_hostaddr=to_url.getHost();
  135.               String callee=(to_username==null)? to_hostaddr : to_username+"@"+to_hostaddr;
  136.               if (!location_service.hasUser(callee))
  137.               {  // both caller and callee are not registered with the local server
  138.                  printLog("both users "+caller+" and "+callee+" are not registered with the local server: proxy denied.",LogLevel.HIGH);
  139.                  sip_provider.sendMessage(MessageFactory.createResponse(msg,503,SipResponses.reasonOf(503),null));
  140.                  return;
  141.               }
  142.            }
  143.         }
  144.  
  145.         if (server_profile.do_proxy_authentication && !msg.isAck() && !msg.isCancel())
  146.         {  // check message authentication
  147.            Message err_resp=as.authenticateProxyRequest(msg);
  148.            if (err_resp!=null)
  149.            {  sip_provider.sendMessage(err_resp);
  150.               return;
  151.            }
  152.         }
  153.  
  154.         updateProxingRequest(msg);
  155.         sip_provider.sendMessage(msg);
  156.    }
  157.  
  158.    /** Processes the Proxy headers of the request.
  159.      * Such headers are: Via, Record-Route, Route, Max-Forwards, etc. */
  160.    protected Message updateProxingRequest(Message msg)
  161.    {  printLog("inside updateProxingRequest(msg)",LogLevel.LOW);
  162.         System.out.println("header part1");
  163.       // remove Route if present
  164.       boolean is_on_route=false;
  165.       if (msg.hasRouteHeader())
  166.       {  MultipleHeader mr=msg.getRoutes();
  167.       System.out.println("X route");
  168.          SipURL route=(new RouteHeader(mr.getTop())).getNameAddress().getAddress();
  169.          if (isResponsibleFor(route.getHost(),route.getPort()))
  170.          {  mr.removeTop();
  171.             if (mr.size()>0) msg.setRoutes(mr);
  172.             else msg.removeRoutes();
  173.             is_on_route=true;
  174.          }
  175.       }
  176.       // add Record-Route?
  177.       if (server_profile.on_route && msg.isInvite() && !is_on_route)
  178.       {  SipURL rr_url;
  179.           System.out.println("+ route");
  180.          if (sip_provider.getPort()==SipStack.default_port) rr_url=new SipURL(sip_provider.getViaAddress());
  181.          else rr_url=new SipURL(sip_provider.getViaAddress(),sip_provider.getPort());
  182.          if (server_profile.loose_route) rr_url.addLr();
  183.          RecordRouteHeader rrh=new RecordRouteHeader(new NameAddress(rr_url));
  184.          msg.addRecordRouteHeader(rrh);
  185.       }
  186.       // which protocol?
  187.       String proto=null;
  188.       if (msg.hasRouteHeader())
  189.       {  SipURL route=msg.getRouteHeader().getNameAddress().getAddress();
  190.       System.out.println("protocol");
  191.          if (route.hasTransport()) proto=route.getTransport();
  192.       }
  193.       else proto=msg.getRequestLine().getAddress().getTransport();
  194.       if (proto==null) proto=sip_provider.getDefaultTransport();
  195.  
  196.        // add Via
  197.             ViaHeader via=new ViaHeader(proto,sip_provider.getViaAddress(),sip_provider.getPort());
  198.             if (sip_provider.isRportSet()) via.setRport();
  199.             String branch=sip_provider.pickBranch(msg);
  200.             System.out.println("VIA");
  201.  
  202.             if (server_profile.loop_detection)
  203.             {  String loop_tag=msg.getHeader(Loop_Tag).getValue();
  204.                if (loop_tag!=null)
  205.                {  msg.removeHeader(Loop_Tag);
  206.                   branch+=loop_tag;
  207.                }
  208.             }
  209.             via.setBranch(branch);
  210.             msg.addViaHeader(via);
  211.  
  212.             // decrement Max-Forwards
  213.             MaxForwardsHeader maxfwd=msg.getMaxForwardsHeader();
  214.             if (maxfwd!=null) maxfwd.decrement();
  215.             else maxfwd=new MaxForwardsHeader(SipStack.max_forwards);
  216.             msg.setMaxForwardsHeader(maxfwd);
  217.  
  218.             // domain name routing
  219.             if (server_profile.domain_routing_rules!=null && server_profile.domain_routing_rules.length>0)
  220.             {  RequestLine rl=msg.getRequestLine();
  221.             System.out.println("domain routing");
  222.  
  223.                SipURL request_uri=rl.getAddress();
  224.                for (int i=0; i<server_profile.domain_routing_rules.length; i++)
  225.                {  RoutingRule rule=(RoutingRule)server_profile.domain_routing_rules[i];
  226.                   SipURL nexthop=rule.getNexthop(request_uri);
  227.                   if (nexthop!=null)
  228.                   {  printLog("domain-based routing: "+rule.toString()+": YES",LogLevel.MEDIUM);
  229.                      printLog("target="+nexthop.toString(),LogLevel.MEDIUM);
  230.                      rl=new RequestLine(rl.getMethod(),nexthop);
  231.                      msg.setRequestLine(rl);
  232.                      break;
  233.                   }
  234.                   else printLog("prefix-based routing: "+rule.toString()+": NO",LogLevel.MEDIUM);
  235.                }
  236.             }
  237.             return msg;
  238.  }
  239.  
Mar 20 '07 #7
chuwfan
9 New Member
continue here... sorry it's so long, hope you won't mind.

Expand|Select|Wrap|Line Numbers
  1.    /** When a new response message is received */
  2.    public void processResponse(Message resp)
  3.    {  printLog("inside processResponse(msg)",LogLevel.MEDIUM);
  4.         System.out.println("response message");
  5.       if(call_logger!=null) call_logger.update(resp);
  6.  
  7.       updateProxingResponse(resp);
  8.  
  9.       if (resp.hasViaHeader()) sip_provider.sendMessage(resp);
  10.       else
  11.          printLog("no VIA header found: message discarded",LogLevel.HIGH);
  12.    }
  13.  
  14.      /** Sends a server final response */
  15.        protected void statefulServerResponse(TransactionServer ts, Message resp)
  16.        {  printLog("inside statefulServerResponse(msg)",LogLevel.MEDIUM);
  17.        System.out.println("send to server final response");
  18.           printLog("Server response: "+resp.getStatusLine().toString(),LogLevel.MEDIUM);
  19.           ts.respondWith(resp);
  20.        }
  21.  
  22.        /** Process provisional response */
  23.        protected void processProvisionalResponse(Transaction transaction, Message resp)
  24.        {  printLog("inside processProvisionalResponse(t,resp)",LogLevel.MEDIUM);
  25.        System.out.println("Cprovisional response");
  26.           int code=resp.getStatusLine().getCode();
  27.           TransactionServer ts=state.getServer(transaction);
  28.           if (ts!=null && code!=100)
  29.           {  updateProxingResponse(resp);
  30.              if (resp.hasViaHeader()) ts.respondWith(resp);
  31.           }
  32.        }
  33.  
  34.        /** Process failure response */
  35.        protected void processFailureResponse(Transaction transaction, Message resp)
  36.        {  printLog("inside processFailureResponse(t,resp)",LogLevel.MEDIUM);
  37.        System.out.println("failured response");
  38.           TransactionServer ts=state.getServer(transaction);
  39.           state.removeClient(transaction);
  40.           if (ts==null) return;
  41.           if (!state.hasServer(ts)) return;
  42.           // updates the non-2xx final response
  43.           state.setFinalResponse(ts,resp);
  44.           // if there are no more pending clients, sends the final response
  45.           HashSet clients=state.getClients(ts);
  46.           if (clients.isEmpty())
  47.           {  printLog("only this tr_client remained: send the response",LogLevel.LOW);
  48.              resp=state.getFinalResponse(ts);
  49.              updateProxingResponse(resp);
  50.              if (resp.hasViaHeader()) ts.respondWith(resp);
  51.              state.removeServer(ts);
  52.           }
  53.        }
  54.  
  55.        /** Process success response */
  56.        protected void processSuccessResponse(Transaction transaction, Message resp)
  57.        {  printLog("inside processSuccessResponse(t,resp)",LogLevel.MEDIUM);
  58.        System.out.println("Success response");
  59.           TransactionServer ts=state.getServer(transaction);
  60.           state.removeClient(transaction);
  61.           if (ts==null) return;
  62.           updateProxingResponse(resp);
  63.           if (resp.hasViaHeader())
  64.           {  ts.respondWith(resp);
  65.              if (!state.hasServer(ts)) return;
  66.              //else
  67.              // cancel all other pending transaction clients
  68.              HashSet clients=state.getClients(ts);
  69.              //printLog("Cancel pending clients..",LogLevel.LOW);
  70.              //if (clients==null) return;
  71.              printLog("Cancelling "+clients.size()+" pending clients",LogLevel.LOW);
  72.              for (Iterator i=clients.iterator(); i.hasNext(); )
  73.              {  Transaction tc=(Transaction)i.next();
  74.                 Message cancel=MessageFactory.createCancelRequest(tc.getRequestMessage());
  75.                 TransactionClient tr_cancel=new TransactionClient(sip_provider_server,cancel,null);
  76.                 tr_cancel.request();
  77.              }
  78.              state.removeServer(ts);
  79.           }
  80.        }
  81.  
  82.  
  83.        /** Process timeout */
  84.        protected void processTimeout(Transaction transaction)
  85.        {  printLog("inside processTimeout(t)",LogLevel.MEDIUM);
  86.        System.out.println("Time out processing");
  87.           TransactionServer ts=state.getServer(transaction);
  88.           state.removeClient(transaction);
  89.           if (ts==null) return;
  90.           HashSet clients=(HashSet)state.getClients(ts);
  91.           if (clients==null) return;
  92.           if (clients.isEmpty())
  93.           {  printLog("DEBUG: responding..",LogLevel.LOW);
  94.              //printLog("DEBUG:\r\n"+state.getFinalResponse(ts),LogLevel.LOW);
  95.              Message resp=state.getFinalResponse(ts);
  96.              updateProxingResponse(resp);
  97.              if (resp.hasViaHeader()) statefulServerResponse(ts,resp);
  98.              state.removeServer(ts);
  99.           }
  100.    }
  101.  
  102.    /** Processes the Proxy headers of the response.
  103.      * Such headers are: Via, .. */
  104.    protected Message updateProxingResponse(Message resp)
  105.    {  printLog("inside updateProxingResponse(resp)",LogLevel.MEDIUM);
  106.    System.out.println("header for response");
  107.       ViaHeader vh=new ViaHeader((Header)resp.getVias().getHeaders().elementAt(0));
  108.       if (vh.getHost().equals(sip_provider.getViaAddress())) resp.removeViaHeader();
  109.       return resp;
  110.    }
  111.  
  112.  
  113.     // ******************* TransactionClient callback methods *******************
  114.  
  115.       /** When the TransactionClient is in "Proceeding" state and receives a new 1xx response */
  116.       public void onTransProvisionalResponse(TransactionClient transaction, Message resp)
  117.       {  processProvisionalResponse(transaction,resp);
  118.       }
  119.  
  120.       /** When the TransactionClient goes into the "Completed" state, receiving a failure response */
  121.       public void onTransFailureResponse(TransactionClient transaction, Message resp)
  122.       {  processFailureResponse(transaction,resp);
  123.       }
  124.  
  125.       /** When an TransactionClient goes into the "Terminated" state, receiving a 2xx response */
  126.       public void onTransSuccessResponse(TransactionClient transaction, Message resp)
  127.       {  processSuccessResponse(transaction,resp);
  128.       }
  129.  
  130.       /** When the TransactionClient goes into the "Terminated" state, caused by transaction timeout */
  131.       public void onTransTimeout(TransactionClient transaction)
  132.       {  processTimeout(transaction);
  133.    }
  134.  
  135.    // ****************************** Logs *****************************
  136.  
  137.    /** Adds a new string to the default Log */
  138.    private void printLog(String str, int level)
  139.    {  if (log!=null)
  140.    {
  141.        log.println("StatefulProxy: "+str,level+SipStack.LOG_LEVEL_UA);
  142.        log.println("Proxy: "+str,level+SipStack.LOG_LEVEL_UA);
  143.    }
  144.    }
  145.  
  146.  
  147.    // ****************************** MAIN *****************************
  148.  
  149.    /** The main method. */
  150.    public static void main(String[] args)
  151.    {
  152.  
  153.       String file=null;
  154.       boolean prompt_exit=false;
  155.  
  156.       for (int i=0; i<args.length; i++)
  157.       {  if (args[i].equals("-f") && args.length>(i+1))
  158.          {  file=args[++i];
  159.             continue;
  160.          }
  161.       }
  162.  
  163.       SipStack.init(file);
  164.       SipProvider sip_provider=new SipProvider(file);
  165.       ServerProfile server_profile=new ServerProfile(file);
  166.  
  167.       System.out.println("Start");
  168.  
  169.       new Proxy(sip_provider,server_profile);
  170.  
  171.       System.out.println("Connected");
  172.  
  173.    }
  174.  
  175. }
  176.  
Thanks for ur help..
Mar 20 '07 #8
chuwfan
9 New Member
Anybody?
Please try to help me.
Mar 22 '07 #9

Sign in to post your reply or Sign up for a free account.

Similar topics

1
5571
by: b_prikls | last post by:
Hi all, i need your help, here is code, that makes http connection to a website throu a proxy server, and it works fine: ========================================== $proxy = "111.111.111.111"; $port = "8080"; $url = "http://www.myhost.com/folder/script.dll?variable=hello";
6
7936
by: harry | last post by:
Hi, I have a program that runs on multiple client pc's. Occasionally one or more of those pc's use VPN to connect to another corporate network. When using VPN they need to set proxy server in Internet Explorer connection settings (proxy:8080). However, as soon as this setting is enabled, the remoting program running on their pc stops communicating with the server it sends data to. I've disabled proxy setting on the affected pc, rebooted...
0
1706
by: PeterJ | last post by:
I created some web pages in Visual Studio 2003 in VB and sent them to another fellow to be rolled up into an application. This was sent back to me and I could not open the whole application. Now I can not even open the project I created for my web pages. When I do either, I keep getting a messagebox that says: "Visual Studio could nor create or open the application because your browser is configured to use a proxy server for the...
4
4477
by: WATYF1 | last post by:
Hello. I'm writing a VB.NET app to check email message counts for both POP3 and IMAP4. I'm using TCPClient to connect, and a NetworkStream to send simple commands. It's a very simple bit of code, actually... the problem is, if the user is behind a proxy, then the Connect method fails (times out). How do I get around this? I thought this would be a common issue and that there would be plenty of code out there to demonstrate how to...
9
3453
by: Codex Twin | last post by:
I am re-sending this in the hope that it might illicit a response. I have a corporate client who forces their workstations to get the proxy server details using an automatic proxy discovery script. Unfortunately, the .NET Framework does not support automatic proxy discovery scripts. See: http://support.microsoft.com/default.aspx?scid=kb;%5BLN%5D;307220 The article above details that the way to workaround this is to edit the...
1
7600
by: Steve.Goodman | last post by:
Appologies if this has already been asked, but after scanning the web and this news group I could find no decent solution. We have a windows App that calls a webservice, using this bit of basic code. Dim objPreReq As PDCPreReq.PreReqs Dim objProxy As System.Net.WebProxy = System.Net.WebProxy.GetDefaultProxy objProxy.Credentials = System.Net.CredentialCache.DefaultCredentials
7
15431
by: Pro1712 | last post by:
Hello, I need to write a simple proxy server. What I want to do is to use HttpListener to get requests from the browser, add some proxy information and some other stuff and send the request to the internet. Then I want to send the answer back to the browser... Sounds simple... But how can I do this?
3
14225
by: Joseph Geretz | last post by:
System.InvalidOperationException: WebServiceBindingAttribute is required on proxy classes. My environment: Visual Studio 2005, targeting FX 2.0; I've developed a Web Service which uses DIME to transfer file attachments to and from the server. I'm using WSE 2.0 SP3 which is supposed to support FX 2.0, as far as I know. (We will soon move on to MTOM, however I'm stuck with DIME for now; the solution was originally written for FX 1.1, and I...
7
40979
by: chandru1782 | last post by:
Dear friends, I am trying to use CPAN for installing some perl modules. i am using a ubuntu system, which has internet connection through lan and authenticated proxy. when trying to install cpan.pm , it gives the following error, can any one help, You have no /root/.cpan/sources/MIRRORED.BY I'm trying to fetch one CPAN: LWP::UserAgent loaded ok Fetching with LWP:
1
5003
by: =?Utf-8?B?Z2FsbGFu?= | last post by:
We have an application that is running fine on several of our customer’s servers. However, one of our customers is having a problem running the application. The application works on one of his Windows 2003 servers, but not on the other one. The application is a C++ .Net /clr Windows Service. It communicates with our server by sending and receiving XML using the WebClient object. The error they are receiving is “The remote server...
0
9506
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10193
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10136
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9979
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7525
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6761
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5415
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
4089
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3695
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.