-
Dec 21st, 2010, 04:39 AM
#1
Thread Starter
Fanatic Member
[RESOLVED] Deploy to webserver
Hi,
this is the structure I have:
The development is done on my machine as follows:
using VS2010, silverlight 4
1- Silverlight application is created as a project
2- silverlight app has service references to the wcf project
3- web project is a simple project which has the clientbin folder and a default.aspx page
When running the .sln on my machine, all works fine.
I have copied the entire folders for both my wcf and web projects from my local machine into the c:\inetpub\wwwroot of the webserver (Windows server 2003).
on the web server, created two virtual directories. One for the web and one for the wcf project. each points to the appropriate folder under c:\inetpub\wwwroot
I made sure the endpoints in the file Servicereferences.ClientConfig under the wcf project in the webserver is pointing to the webservername:80
The webserver does have the correct mime file type i.e. .xap
I have also added the domain policy files onto webserver machine's C:/inetpub/wwwwroot/
In IIS, under the web project virtual directory, when I right click, browse, then it says "Page can not be found"
What have I done wrong please?
Thanks
-
Dec 21st, 2010, 10:16 AM
#2
Re: Deploy to webserver
A guess would be that IIS isn't set up to handle Silverlight MIME types.
Configuring a Web Server to Host Silverlight Content
-
Dec 21st, 2010, 10:36 AM
#3
Thread Starter
Fanatic Member
Re: Deploy to webserver
Thanks for the link BUT I alerady have these files as mime types.
I wonder if this error could be to do with running .net 4 application in windows server 2003 ?
Thanks
-
Dec 21st, 2010, 01:08 PM
#4
Re: Deploy to webserver
Silly question, but let's just rule it out....
Do you have .Net Framework 4.0 installed on the server?
Gary
-
Dec 22nd, 2010, 02:23 AM
#5
Thread Starter
Fanatic Member
Re: Deploy to webserver
Hi,
I can now browse to the site but it only shows pages with empty controls. This
Tells me that maybe the wcf part does not get data. How do I solve this?
Thanks
-
Dec 22nd, 2010, 03:49 AM
#6
Re: Deploy to webserver
Hey,
What did you have to do to get to this point?
Have you tried running Fiddler while accessing your page? Are there any errors?
Have you tried using the WcfTestClient to connect to the endpoint, and execute the methods on there?
Gary
-
Dec 22nd, 2010, 04:09 AM
#7
Thread Starter
Fanatic Member
Re: Deploy to webserver
I changed the service extensions in IIS in webserver to allow asp.net 4
Now when browse to the server i.e.
http://webserverfullname/sitename/defaultpage.aspx it shows the page but with no data in it
Not sure how to soove this now.
Any thoughts?
Thanks
-
Dec 22nd, 2010, 04:18 AM
#8
Re: Deploy to webserver
Hey,
Did you try what I suggested? Use the WcfTestClient to connect to the WCF Endpoint, and execute one of the methods that you are using. Make sure that the data is coming through.
Gary
-
Dec 22nd, 2010, 04:24 AM
#9
Thread Starter
Fanatic Member
Re: Deploy to webserver
by wcftestClient, do you mean to create a windows app which calls the wcf?
-
Dec 22nd, 2010, 04:29 AM
#10
Re: Deploy to webserver
No, that would be too much like hard work
There is a built in WCF Test Client that you can use. You should be able to find it here:
Code:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe
If it isn't in there, if you do a search for WcfTestClient, you should be able to find it.
Gary
-
Dec 22nd, 2010, 04:35 AM
#11
Thread Starter
Fanatic Member
Re: Deploy to webserver
By the way, I am running vs2010 silverlight 4
Shall I still go ahead with the wcftestclient path you suggested?
-
Dec 22nd, 2010, 04:38 AM
#12
Re: Deploy to webserver
Hey,
I think it is still worth it yes. You need to figure out where the problem lies, and testing the WCF End Point directly means that you can rule that out, and from there you need to look at the Silverlight application.
Gary
-
Dec 22nd, 2010, 04:39 AM
#13
Thread Starter
Fanatic Member
Re: Deploy to webserver
Originally Posted by gep13
No, that would be too much like hard work
There is a built in WCF Test Client that you can use. You should be able to find it here:
Code:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe
If it isn't in there, if you do a search for WcfTestClient, you should be able to find it.
Gary
I found the .exe under vs 10
I am trying to add service. It says please enter the endpoint address.
What do I enter in there exactly?
The endpoint I know of is the one in servicesreferences.clientconfig file in the silverlight application project
i.e.
<endpoint address="http://webserverfullname:80/DM.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IDM"
contract="FMService.IDM" name="BasicHttpBinding_IDM" />
-
Dec 22nd, 2010, 04:42 AM
#14
Re: Deploy to webserver
Hey,
Enter this:
Code:
http://webserverfullname:80/DM.svc
Gary
-
Dec 22nd, 2010, 04:46 AM
#15
Thread Starter
Fanatic Member
Re: Deploy to webserver
When pointing to a service on my local machine it works fine
BUT pointing to the webserver service shows the following message:
Error: Cannot obtain Metadata from http://webserverfullname/DM.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address. For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?Link...55.WS-Metadata Exchange Error URI: http://webserverfullname/DM.svc Metadata contains a reference that cannot be resolved: 'http://webserverfullname/DM.svc'. There was no endpoint listening at http://webserverfullname/DM.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. The remote server returned an error: (404) Not Found.HTTP GET Error URI: http://webserverfullname/DM.svc There was an error downloading 'http://webserverfullname/DM.svc'. The request failed with HTTP status 404: Not Found.
-
Dec 22nd, 2010, 04:57 AM
#16
Thread Starter
Fanatic Member
Re: Deploy to webserver
Originally Posted by gep13
Hey,
Enter this:
Code:
http://webserverfullname:80/DM.svc
Gary
I was not using the correct path.
But now the error is:
The server was unable to process the request due to an internal error. For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.
Server stack trace:
at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
-
Dec 22nd, 2010, 05:01 AM
#17
Thread Starter
Fanatic Member
Re: Deploy to webserver
Using the testclient tool you suggested, I can access one of the methods inside the service as it calls an xml file to get data from inside the xml file.
But the errors are caused from the methods that connect to the sql server.
Could that be the reason? how can I find the exact issue?
Thanks
-
Dec 22nd, 2010, 05:07 AM
#18
Thread Starter
Fanatic Member
Re: Deploy to webserver
Hi gary,
Looking at logs, it says login failed for user 'domain\webserverfullname$'
Note that the connectionstring in the webconfig uses windows integrated security
Any t houghts on how to solve this please?
Thanks
-
Dec 22nd, 2010, 05:13 AM
#19
Re: Deploy to webserver
Hey,
I think this is a good candidate for the problem yes.
Have you updated the connection string to point to the correct SQL server for this installation?
What exactly is the error?
Gary
-
Dec 22nd, 2010, 05:14 AM
#20
Re: Deploy to webserver
Originally Posted by arkiboys
Hi gary,
Looking at logs, it says login failed for user 'domain\webserverfullname$'
Note that the connectionstring in the webconfig uses windows integrated security
Any t houghts on how to solve this please?
Thanks
This would suggest that the current user doesn't have access to the database. Have you verified that they do have access? Is this a database server that you have full control over?
Gary
-
Dec 22nd, 2010, 05:29 AM
#21
Thread Starter
Fanatic Member
Re: Deploy to webserver
Gary,
I have just been told that we can only access the sql server using the integrated security as the sql authentication is disabled.
May be to solve this problem I can make the wcf which is now hosted on the webserver to run under the account that the site is logging in as ?
May be I should check the settings on the virtual directory of the wcf ?
The message is:
22/12/2010 10:27:42 - Connection --> Data Source=sqlservermachinename;Initial Catalog=my database;Integrated Security=true
22/12/2010 10:27:42 - --------------
22/12/2010 10:27:42 - System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'domain\webserverfullname$'.
-
Dec 22nd, 2010, 05:37 AM
#22
Re: Deploy to webserver
Yip, that sounds like a plan.
Gary
-
Dec 22nd, 2010, 05:44 AM
#23
Thread Starter
Fanatic Member
Re: Deploy to webserver
How do i make the wcf service (Which is hosted in the webserver) to run under a specific account?
At present it as enable anonymous access checked as well as integrated windows authentication.
Thanks
-
Dec 22nd, 2010, 05:56 AM
#24
Re: Deploy to webserver
Hey,
You can change the identity of the Application Pool that is hosting the WCF Endpoint.
Gary
-
Dec 22nd, 2010, 06:18 AM
#25
Thread Starter
Fanatic Member
Re: Deploy to webserver
Now the error is:
The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
Server stack trace:
at System.ServiceModel.Channels.HttpInput.ThrowMaxReceivedMessageSizeExceeded()
at System.ServiceModel.Channels.HttpInput.GetMessageBuffer()
at System.ServiceModel.Channels.HttpInput.ReadBufferedMessage(Stream inputStream)
at System.ServiceModel.Channels.HttpInput.ParseIncomingMessage(Exception& requestException)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(T imeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IDM.GetAllNames()
at DMClient.GetAllNames()
Inner Exception:
The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element.
-
Dec 22nd, 2010, 06:21 AM
#26
Re: Deploy to webserver
Hey,
This suggests that the data being returned is too much for the WCF Contract that has been created. If you look in the config file for the WCF EndPoint, as well as your client, you should find the value of 65536. If you increase this to a higher number, it should start to work.
Gary
-
Dec 22nd, 2010, 06:28 AM
#27
Thread Starter
Fanatic Member
Re: Deploy to webserver
The data returned is only 1300.
i think you are referring to the config file of the wcftest tool you pointed me to, right?
-
Dec 22nd, 2010, 06:31 AM
#28
Re: Deploy to webserver
The MaxReceivedMessageSize can be specified on both the client and the server, i.e. the maximum amount that can be sent, and that can be received, so you have to set it on both sides. I typically make these the same value.
Gary
-
Dec 22nd, 2010, 06:33 AM
#29
Thread Starter
Fanatic Member
Re: Deploy to webserver
On the server, you mean the wcf project ?
On the client, you mean the servicereferences.clientconfig in the silverlight application project?
-
Dec 22nd, 2010, 06:41 AM
#30
Re: Deploy to webserver
Correct.
Or in the case of the WcfTestClient, it's config file, as you mentioned before.
However, now that you have the WcfTestClient returning this error, have you tried the Silverlight application again?
Gary
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|