Wednesday, October 26, 2011

How to Fix "Server did not recognize the value of HTTP Header SOAPAction" in Web Service Deplyment

after I completed the test of web service in the testing environment

I deployed the web serivce to production server, and change the app.net application web service reference

Pointing to the live web service link. then i call the web serivce from the asp.net application.

the Errro thrown immediately after the web method is invoked.

here is the detail of Error Message


System.Web.Services.Protocols.SoapException was unhandled
  Message="System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction

System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()\n   at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)\n   at System.Web.Services.Protocols.SoapServerProtocol.Initialize()\n   at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response)\n   at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)"
  Source="System.Web.Services"
  Actor=""
  Lang=""
  Node=""
  Role=""
  StackTrace:
       at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at 

the root cause of  Hash.web contains some temporary information for this web service. Since i only update the web serivce link in the web config file. it will trigger the application pool to be recycle.. However the applicaiton pool recycle might not be able to completely clear the information that being cache.

here is two approach to fix the issue.
1. delete the test web reference in the asp.net application and add the live  web service link. (this is not a good practice and never recommand since any change in the applicaiton need to have extra test before you can put it live again.

2. clear the ASP.Net Temporary File under the .net Framework Folder and Restart the IIS to completely clear the file Cache in the Microsoft.Net Folder.

Tuesday, October 25, 2011

Toronto Sharepoint Camp 2011 is Open for Registration

This is a FREE event that gives you a day of learning and networking from some of the best and most knowledgeable SharePoint speakers you will find anywhere.

you can register from EventBrite WebSite http://www.eventbrite.com/event/2258152194

and you can find more information from the official WebSite  http://tspug.sharepointspace.com


I am a volunteer to develop the website. i hope to see you all there..

Thursday, October 20, 2011

Great Tool to Mockup a Business Solution

I attended a sharepoint user group with a topic of sharepoint branding.

before we really work on the sharepoint site and modify the layout. we should present a solution

to the user how the site should look like after we implemented it.. here is a great tool to show

user of your solution.balsamiq mockups

Wednesday, October 5, 2011

Developing A Business Connectivity Service External Content Type with VS2010

Today I try to follow the Microsoft Sharepoint 2010 Practice Lab

Though the lab provide the detail step for the practice. here is the a few quick tips i think it will help you

quickly finish the practice. Since there is a few trick that the lab maunaul did not cover it.

  1.  After you Create the BCS Model project. please remember to change the Entity Name to Customer (in my case) from Entity1 in the BCS Model View.
     


 2. Add New Method under the BCS Model Detail View ( Windows instead of directly interacting BCS Model View I need to spend quite some time to figure out this issue after i added my Update Method in the BSC  Model View

3. Build the Project and Add External List from the List library you will see the Mock up list of Contacts.

4. Since I didn't fully follow the Lab Manual, i only implemented the ReadItem and ReadList Method for the initial deployment. I added the Update Method after I can view the mock up Contact List. Then i Refresh the page. i can find that edit item function is enable. However when i click on the selected item. it popup a display windows with Error message "Unable to find the default edit form for list Contacts."

the Root Cause is the list was originally created with ReadOnly External Content Type since i only Implemented Read Method when i did my first deployment. After i added the newly implemented Update Method, the External Content Type changed to Read and Write. The Contact List still reference the ReadOnly External Content. I must remove the Contact List and recreate it. then i can edit the item in the list.

In Part two, Please save the change when you change from the Generic List to Contact List selecting from the dropdownlist. before you continue to the next step