Tuesday, September 22, 2009

VS2008: Adding Web Service Reference, not hosted at default 80 port

Today I come across an issue while trying to consume a third party web service for B2B integration project. The web service has been hosted on some port i.e. 8097 other then default 80 port for IIS. When I try to add the web service reference in to my VS 2008/ ASP.Net 2.0 project it gives me this error:

Metadata contains a reference that cannot be resolved: 'http://test.org/myservice/service.asmx?wsdl'.
There was an error downloading 'http:// test.org/myservice/service.asmx?wsdl '.
Unable to connect to the remote server

The web service i have been trying to include in my project was hosted at 'http://test.org:8097/myservice/service.asmx'

I 'Binged' the problem, but I can't find anything, lot of people have put this problem but I didn't found any solution..

Here are the steps I took in order to resolve this problem:

  1. Add this web reference 'http://test.org:8097/myservice/service.asmx?wsdl' instead of default, it will generate the proxy but still you won't be able to call the web service.
  2. Next step is to go to Settings.settings in property folder of you project, open it you'll find a URL entry for your web service, its type is 'Web Service URL'. Go and change its value to 'http://test.org:8097/myservice/service.asmx'
  3. Now check the web.config entry for your web service URL and make sure that it points to the correct URL with port included in it. [you need to do this step if the web service URL behavior is 'dynamic' ]

Happy Coding!

Tuesday, September 08, 2009

Web.Config: <authorization> Element

Here is the web.config snippet to allow access to only one user to web site or web service and deny access to all other users either authenticated or anonymous.

Allow Access to only one domain user

Allow access to any autheticated domain user

<authentication
mode="Windows"/>


<authorization>

<allow
users="basit"/>

<deny
users="*"/>

</authorization>

<authentication
mode="Windows"/>


<authorization>

<allow
users="basit"/>

<deny
users="?"/>

</authorization>


It will enable windows authentication and only allow user "basit" to access the web site or web service. It will deny access to all other users.


It will enable windows authentication and allow user "basit" and any other authenticated user to access the web site or web service. It will deny access to any anonymous user.

Thursday, September 03, 2009

Translation as a Service: Microsoft; Bing Translator vs. Google Translator

I just come across Bing Translator from Microsoft; I have been working on a multilingual web portal, so I have been using Google Translate quite extensively. I have also placed a code snippet in my previous post that can help anyone to translate variable names, web service response and error messages at run time from Google supported languages to English.

Today for the first time I come across Bing Translator and the first impression to this service I awesome, I really liked its auto detect feature, I tried it and amazingly it worked fine, WOW, so as predicted Bing is going to give hard time to Google. Competition always helps companies to grow and at the same time provide better services to the end users.

An early look at the Bing Translator shows that it provide a lot more features as compared to Google Translator.


It has tools for end users, providing lot of good quality services like you can add an MSN blog for translation, that's really cool.


It also provides cool tools for the web master and last but not the least, tools for Developers J to build cool multilingual applications using any of the available options, good things is that it has support for JavaScript through AJAX Interface API. I look forward to lot of cool applications written on top of it.

I believe there is a huge potential in this regard building translation as a service, and I think Microsoft is right on track this time!


GMail goes down once again!

Gmail is down again, and what's the excuse this time :)

But this error seems unfair to the user, there should be a specific error message for it going down.

Tuesday, September 01, 2009

Gmail Account Lockdown for 24 hours! Reasons Unknown!

I come across an interesting situation today, while I was going through my emails on Gmail after three daysJ. My Gmail account is locked down for 24 hours without any reasons! That's bad, so anyone have any idea what might be the reason for that.


Friday, August 28, 2009

Google Translate: Web Services written in languages other than English

A utility function that can be used when dealing with web services written in languages other than English that returns value in foreign language like french, even the variable names are in that language and the error messages returned. With this utility function it's very easy to debug the application. Just add this function in one of the utility class in yur project.

public
string TranslateText(


string input,


string languagePair)

{

string url =

String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}",

input, languagePair);

WebClient webClient = new
WebClient();

webClient.Encoding = System.Text.Encoding.UTF8;

string result = webClient.DownloadString(url);

result = result.Substring(result.IndexOf("id=result_box") + 24);

result = result.Substring(0, result.IndexOf("</div"));

return result;

}

Usage: you can call this function like this

TransalteText(inputString, "ar|en")

It will convert the inputString from arabic to english and return the english text

It will convert the inputString from arabic to english and return the english text

Thursday, July 23, 2009

Silverlight: What is CoreCLR?

Do you know what is CoreCLR? If not then keep reading this article, if yes then do contribute to help others understand it better.

CoreCLR is a scaled version of the original CLR that has been encapsulated within Silverlight2, Don't you think its amazing? Well i find it very interesting, with access to BCL (Base Class Libraries) you can write classic applications using Silverlight2 and now Sliverlight3 coming in with lot more new features.

Silverlight2/CoreCLR includes:

- BCL (though not complete but enough to help you write medium to complex level applications, I'll go in to its details in some other post)
- JIT ( just in time compiler)
- GC ( Garbage collector)


What are the benefits of CoreCLR?

- You have the access to the limited BCL, you can write code in C# or any other .NET language and it will run it User web browser.
- CoreCLR works for non-windows platforms also e.g MAC OS, see below figure. It uses PAL (Platform Adaptation Layer), an API written for different platforms.


Figure taken from MSDN article

- With Silverligt CoreCLR, you can manipulate DOM within C# codebehind of Silevrlight XAML page, or vise versa i.e. using C# objects in JavaScript.
- The good thing about CoreCLR is that its compatible with the original CLR because the designer of CoreCLR have kept the execution engine and virtual machine same.
- You can easily customize the existing code written for original CLR to fit for the CoreCLR but with few changes.
- CoreCLR run side by side with the desktop CLR, that too is a big advantage.
- One of the other great things with CoreCLR is that the Silverlight team has been able to keep the size of the setup in a reasonable range, so that the user don't have to wait that long.

With CoreCLR coming in to picture, its more easy for the .NET developers to write applications in Silverlight instead of using Flash and taking advantage of Action Script in Flash. They need not to learn anything new, they can take advantage of their existing C# or VB.NET skills for writing Silverlight applications business logic.

CoreCLR Web Resources:

- A must read article from MSDN on CoreCLR: http://msdn.microsoft.com/en-us/magazine/cc721609.aspx
- An interesting Video from Microsoft TechNet 09 about Silverlight2/ CLR, a must see:


Get Microsoft Silverlight

Silverlight Ideas: Making a silverlight application run out of web browser

Here I'm getting started with Sliverlight, learning the architecture, looking at demos,and sample applications.

I come across the details of running a silvelight application, out of IE and to make it a separate application running right from your desktop, just like a Flash application, it will be useful for a completely offloaded application like a single player game, or an online application that can also work in offline and syncroznie stuff when Internet become available.

Here are the details of how to make a Silvelight application to run out of IE.

- Open the Silevrlight Project settings, Right click the project, click on the properties, here you are:



- Click the checkbox, "Enable running application out of the browser", it will enable the settings and will allow a user to run it out of browser.
- You can click on "Out of Browser Settings" button for more customization, like window title, shortcut name, width and height of the window e.t.c. You can even customize the application shortcut icon and that too for different sizes.



- Now the client will see another option i.e "Install on this computer", when he will right click a Silverlight application from within the web browser.





- If you will click on this option it will ask for further details, like "Start Menu", and "Desktop", once done it will install the application.



- Now you are all set to run the application from your desktop or start menu, depending upon the option you selected while installing it.



- You can also remove the application from your desktop if you want to, for that you need to right click when the application is open and selects the "Remove Application" option.


I really liked this idea and the level of customization provided by sliverlight!

Friday, July 17, 2009

PTCL Broadband, not proving to be a wise decision

I got PTCL broadband for home a 1MB link; I thought that it's a good choice at a reasonable cost, due to their student package. Not to mention the hassle of getting it installed at my place it took me a complete month, around 50 reminder calls to their call-centre, with follow-ups to the exchange directly, and the final warning of cancelling my order, it worked though :).

While I was in Pakistan and planning to leave for UK, it worked very fine for couple of weeks and I really loved the speed, but for last couple of weeks it has been a big mess for my family, they come online we start talking and then what happens DSL goes down, they come online again and what now DSL is down again. We hardly talk due to this online/offline thing.

Hats off to their customer service, we have been launching complaints again and again but nothing so far! I wish PTCL as a company can improve their customer service, since now they are not publically owned, if it continues to happen ppl will start looking for alternatives, which I already had!

Tuesday, May 19, 2009

.NET Tricks - alterante folder for project assemblies

Few days back at work i came across a scenario in which i have lot of third party assemblies used by my C# windows application project, i wanted to put them in a separate sub folder instead of the main folder. By putting them in a sub folder it will make my life lot easier when it comes to deployment and other post release stuff.

Luckily .NET framework provides us with a tag in APP.CONFIG where we can specify the alternate folders to look for third party/ shared assemblies. Here is the code snippet that will ask the .NET framework to look into \bin and \shared folder for the shared assemblies instead of just the main folder where the exe is placed.

APP.CONFIG Sample

Thursday, July 17, 2008

Star Performer Award @ TRG

  Star Perfomer Award @ TRG :D, awarded to me for year 2007 at Annual Employee Day!
Posted by Picasa

Monday, April 14, 2008

Interview Questions: Quality Engineer

After a long time i'm posting on this blog, i'm in middle of a QA interview right now, so i though to publish some QA questions, that any QA engineer should expect as part of their technical evaluation. As before i'll not be posting the answer i want you to look for the answers on your own:

  • What are functional requirements?
  • What is a sequence diagram?
  • What is regression testing?
  • What is smoke testing?
  • What is sanity testing?
  • Difference b/w validation and verification?
  • Integration testing?
  • Security testing, SQL injection?
  • Write all the test cases for testing a telephone/ whiteboard/ laptop?
  • What is reverse engineering?
  • What is usability testing?
  • Difference b/w black box and gray box testing?
  • What is boundary value analysis?
  • What is debugging?
  • What is code coverage?
  • Any idea of test driven development?
  • What is Total Quality Management?
  • What is configuration management?
  • What is unit testing?
  • What is a test plan?
  • Difference between a defect, bug and enhancement?
  • What is load testing?
  • What is ad-hoc testing?
  • What is stress testing?
  • Are you familiar with UML?
  • Difference between Quality Assurance and Quality Control?
  • How would you ensure 100% coverage of testing?
  • What is the static analysis of code?
  • What is a good code?
  • Equivalence testing?
  • Error Guessing?
  • Ad-Hoc testing?
  • What is a build? How build management is done?
  • What’s the difference between Alpha & Beta testing?

Tuesday, November 13, 2007

Open Source: Chat Engine

Today i uploaded the code and executable for the secure multi threaded chat & P2P client application that i developed using C# 1.1 as a university project for one of my friend on Google Code.

I have made this application as an open source so anyone interested can take the code and update it according to his/her needs.

You can download the application from here.

Drop an email @ basit.tanveer@gmail.com in case you wish to discuss it in detail.


The secure multi threaded chat server & P2P file transfer client supports following feature set:

-> Multi user Server

-> Chat Client

-> P2P File Transfer

-> Secure Communication {Diffie Hellman / AES (Rinjdael)}

-> Password based authentication

-> Access DB for users

-> Passwords are saved in hashed form in data base

-> A utility to hash the password

Tuesday, September 25, 2007

Hotmail shoots to 5 GB


Today while opening my hot mail account through web browser after such a long time instead of messenger, i noticed that my email size is now 5 GB and i am just using 1% of it. Yea thats true how can i use more then 1% of it when for all my communications i prefer Gmail... Gmail rocks!!

Monday, September 24, 2007

Webpage Screenshot Utility - IECapt

I come across a nice command line utility IECapt for capturing the IE rendering of a URL in the form of a screen shot, it support saving a web page into a BMP, JPEG or PNG image file.

The usage is quite simple:

IECapt {web URL} {image name along with path}

I find this utility quite handy, hope you would love it too.

Wednesday, September 12, 2007

A new look to my blog - back to blogging


{old template}


Same old routine along with same old template for my blog for such a longer period of time with no blogging, Not Acceptable now :). Today i updated my blog template and gave it a new look altogether.


Hope you guys will like it!

Tuesday, January 09, 2007

Interesting Measures for Mining Association Rules

Back in 2004 while studying Data Mining course by Mr. Liaquat Majeed Sheikh, during my BS at FAST-NU wrote a paper on the Interestingness of Different Measures in Data Mining which was presented in IEEE-INMIC 2004 and published in its proceedings.
____________________________________________________________
Abstract:

Discovering association rules is one of the most important tasks in data mining and many efficient algorithms were proposed in literature. However, the number of discovered rules is often so large, so the user cannot analyze all discovered rules. To overcome that problem several methods for mining interesting rules only have been proposed. Many measures have been proposed in literature to determine the interestingness of the rule. In this paper we have selected a total of eight different measures, we have compared these measures by using a data set, and we have made some recommendation about the use of the measures for discovering the most interesting rules.......

Complete paper

Thursday, September 07, 2006

C# : Interview Questions

Hi,

I have uploaded the list of ASP.NET questions in my previous post, now i am uploading the list of questsion for C# interviews, Hope it will help someone in interviews :)

C#

* Does C# supports multiple inheritence?
* What is a delegate?
* What are setallite assemblies?
* Differences between Namespace, Class, Assembly?
* What is the difference between managed and unmanaged code?
* What is serialization?
* What’s a bubbled event?
* What is garbage collection? How dot net handles the garbage collection?
* Can we force garbage collector to run ?
* What is concept of Boxing and Unboxing ? Do we have the same problem in c# 2.0? if no how it is resolved? What are generics?
* What happens in memory when you Box and Unbox a value-type?
* What are the ways to deploy an assembly?
* What is the difference between the value type and reference type? Do we have value type in dot net?
* What different types of JIT compliler do we have?
* What’s a multicast delegate?

C# 2.0

* What are the partial classes? Where we can use them?
* Any idea of LINQ project?
* What are generics?


C# Distributed Application

* What different option do we have for creating distributed applications in dot net?
* What is a thread? What is multithreading?
* What is deadlock? How we can elimate the risk?
* This data structure is "Thread Safe" what does that mean?
* What are locks and why we need them? When working with shared data in threading how do you implement synchronization ?
* What are sockets? What is the difference between TCP and UDP sockets?
* Any idea of Windows Communication Foundation?
* What is the difference between a thread and a process? Can a process have multiple threads?
* How we can communicate betweem two processes?
* What is the procedure of communicating between two threads?
* What's Thread.Join() in threading ?
* What are the different states of a thread?


Thanks,
Happy Interviewing.

Friday, August 11, 2006

AJAX without XML

JSON is Java Script Object Notation, a lightweight data interchange format over the internet and is language independent.

But Why we need JSON when we have XML, the biggest issue with the XML is its parsing . while JSON is easy to parse and it gives us object which are easy to maintain and manipulate.

JSON contains:

Objects with comma seperated Key/Value pair,
Arrays with comma seperated Value.

=> Value can be String, Number, Char, Int, Exp, or an Object, Array, e.t.c.


Sample
XML


{breakfast-menu}
{food}
{name}Belgian Waffles{/name}
{price}$5.95{/price}
{description}two of our famous Belgian Waffles with plenty of real maple syrup {/description}
{calories}650{/calories}
{/food}

{food}
{name}Strawberry Belgian Waffles{/name}
{price}$7.95{/price}
{description}light Belgian waffles covered with strawberrys and whipped cream{/description}
{calories}900{/calories}
{/food}

{/BREAKFAST-MENU}


JSON

{"breakfast-menu":
{ "food":[
{"name": "Belgian Waffles",
"price": "5.95", "description":
"two of our famous Belgian Waffles with ...", "calories": "650"
},
{"name": "Strawberry Belgian Waffles",
"price": "7.95", "description": "light Belgian waffles covered with ...",
"calories": "900" }
]
}
}

Javascript

// XMLHttpRequest completion

function var myOnComplete = function(responseText, responseXML)

{
eval(responseText);
for (var i=0; i < breakfastMenu.length; i++){
document.write(breakfastMenu[i].name + "
");
}
}

See more details on the JSON @ http://www.json.org/

So now the AJAX which uses XML as a messaging language can also use JSON which is more lighter as compared to XML parsing.

Saturday, July 01, 2006

patterns & practices Guidance Explorer

Guidence Explorer is a handy tool, for searching relevent microsoft patterns & practices guidance. It includes Guidlines, Anti Pattern, Checklists, Code Samples, Patterns, Test Cases.

You can customize the views of your own choice. You can also create different search views according to your requirements. Each and every topic is tagged according to Technology (asp.net 1.1 / asp.net 2.0 e.t.c.) , Type (deployment/ development e.t.c.) and few more attributes. We can also set filter on any of the criteria.





Give it a try and explore it...