WCF / ASMX :: Not Acceable On Client Side / Https Security
Oct 2, 2010im using wcf how can i make sure to my service file from client side.
my web service file (service.svc) should not acceable on client side....on https security(ssl)
im using wcf how can i make sure to my service file from client side.
my web service file (service.svc) should not acceable on client side....on https security(ssl)
I am having a strange issue in my C# Console Application:
Name Space: WcfConsoleApp
Main Class: Program.cs
Name Space: WcfConsoleApp.ServiceReference
this namespace contains the WCF service reference
After building the project, the Program.exe avaliable in Debug folder is executing fine as expected.But when i move the exe to Client, where i need to actually run this exe, it works fine up to the line where i am referencing the Service, the line is:
WcfConsoleApp.ServiceReference.ServiceClient service = new WcfConsoleApp.ServiceReference.ServiceClient();
the consoel app crashes on the client machine at this line. (i know this because before this line, i display some mesage on the console)the same .exe and works fine at my development machine.I am sure it has to do some thing with reference path, i think the program is not getting to the path where service reference is avaliable. I have copied the full project folder as it is to the client, but still its is not working.
I want to build a webservice that has to get some data as parameter from the client application. the data from the client side are records from there database. my websercie has to send then these data to a soap server through 'HttpWebRequest'. Can i get the data as Datatable? and then send as stream to the soap server? Or maybe there is a better easier ways?
View 2 RepliesI am trying to consume a third party web service. In order to access any web method I need to pass session id with soap header in each request. I am trying to modify my header but haven't been successful. I am using proxy in 2.0. I created a separate class which inherits the soap header. I have copied my code but I am not sure how to go about this. How do I attach this header to proxy.
[Code]....
I have a user control which contains a CustomValidator which is used according to whether a RadioButton is checked or not (there are several RadioButtons, I'm only showing the relevant one)
<asp:RadioButton runat="Server" ID="RadioBetween" GroupName="DateGroup" CssClass="date_group_options_control_radio" />
[code]...
There is some client + server side validation code (the server side code does exactly the same thing and is skipped for brevity)
<script type="text/javascript">
function ValidateDateFields_Client(source, args) [code]...
There are two instances of this control in the page. When running the client side version it hits the wrong one (the version of the control which is disabled). You can see from the generated HTML both are correctly specified. I'm not sure how .NET works out which clientside function to call given they both have the same name.
<script type="text/javascript">
//<![CDATA[
var ctl00_MCPH1_QueryTextValidator = document.all ? document.all["ctl00_MCPH1_QueryTextValidator"] : document.getElementById("ctl00_MCPH1_QueryTextValidator");
[code]...
Do i need to add something in to scope it? What's the best way to achieve this? If I disable the loading of the second control everything works fine.
I wonder if the value of Identity.Name is visible (any way) at the client side?
So, it is safe to use the userID as cookie name?
[Code]....
I am using ASP.NET 3.5 and SQL Server 2005.currently while creating users, the password will be stored in the database using SHA256 algorithm. And in the Log In time entered password will be hashed with a salt and this salted password only transmitted through network (javascript). This is for incresing security without using SSL connection.I am planning to use ASP.NET 3.5 login controls How can I use client side hashing (SHA256 salted hashing) along with ASP.NET Login Controls. And also each login attempt should be logged, in a separate database table with IP address, user agent and so on.
View 3 RepliesI have devloped a WCF service which is consumed by a Java client app. WCF service is hosted using IIS and Java client is hosted on Tomcat server on same server.
what kind of security i can implement in my service?
In my website, I am not using any authentication or authorization. I've created login page to capture the user credentials and check against database. If the user successfully authenticates, it's storing the user data in session and navigating to other pages. How thinking of implementing Forms Authentication, but my concern is how to secure the authentication token in client browser for security reasons. Does anyone have any ideas how to secure the authentication token?
View 1 Repliesi am looking for solution to create trial version for web application at client side?
View 3 RepliesI wrote some webservices in my solution and it works fine when i consume it in my local machine... BUT when i deploy it in the public IP and using https. I'm not able to consume the webservices i got a "The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via" Error...
I tried to change my configuration in my web app from security mode="None" into security mode = "transport" and I got an error... (forgot to log the error)
Note* I'm using virtual IIS (this is where i test my project)
I have just noticed that a WCF service referenced as https in the web address is showing that the client is connecting on port 80
View 11 RepliesI previously asked on StackOverflow how to parse XML downloaded programmatically by my ASP.net application. By this, I mean that the user visits https://www.example.com/page1.aspx. The code-behind for page1.aspx is supposed to somehow download and parse an xml file located at https://www.example.com/foo.xml.
I received good answers about how to parse the XML. However, I've been out of luck with being able to retrieve XML from my secure HTTPS server.
I am looking at a situation where https://www.example.com/foo.xml authenticates requests with a cookie. (third party system, not Forms Authentication). The answer I received to my question about how to download and parse XML suggested that I use the System.Net.WebClient class. I read that the WebClient class must be customized to work with cookies. Therefore, I wrote the following code:
public class WebClientWithCookies : WebClient
{
private CookieContainer m_container = new CookieContainer();
public CookieContainer CookieContainer
[Code]....
However, when the request is received at https://www.example.com/foo.xml, there are no cookies in the request, and so it doesn't work.
I am trying to deploy a wcf service. I have created a simple service, basically I have created a new wcf service and tried to deploy it however I get this error
The type 'WCF_Application.Service1', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
I am trying to deploy my service to a subdomain like
https://services.mydomain.com/business
My config looks like this
[Code]....
I have a web service with several web methods, each web method requires client machine to send their MAC Address and the server will validate this client base on this information (if not valid then return error) before proceeding to further operations. The communication between client and server is HTTPS. I only have about 20 clients or so. The question is is my way of doing this right/secure or not? If not then is there any simple way to do this?
View 3 RepliesI am very new to WCF, I have read a lot and seen several presentations about it. I can get the basicHttp endpoint to work on my server but when i wanted to use https, I found that that endpoint binding doesnt work. I think through my research that the wsHttp binding is what i need. I can get the client to work but the service gives me a few different errors when I try to call the ssl endpoint.
Currently i get the following error:
The requested service, 'https://devwcftestsite.crata.ucf.edu/services/Person.svc/Person' could not be activated. See the server's diagnostic trace logs for more information.
Below I have included the web.config for my service project which is hosted at:https://devwcftestsite.crata.ucf.edu/services the service is called:Person.svc
[Code]....
I created a WCF Service Library and there're 2 services (http endpoint and https endpoint) in the App.cofig file. The WCF Service Host had not problem to host the http endpoint but failed to host the https endpoint with these messages:
WCF Service Host cannot find any metadata. Additional Info: The service cannot be started. This service has no endpoint defined. Please add at least one endpoint for the service in config file and try again.
What's wrong with the configuration?
Excerpt of App.config file:
...
<behaviors>
<serviceBehaviors>
<behavior name="WcfSecurityService.ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="mex" />
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="WcfSecurityService.MyValidator, WcfSecurityService"/>
</serviceCredentials>
</behavior>
<behavior name="WcfSecurityService.SecuredServiceBehavior">
<serviceMetadata httpsGetEnabled="true" httpsGetUrl="securedmex" />
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="WcfSecurityService.MyValidator, WcfSecurityService"/>
<serviceCertificate
findValue="CN=MyRSARootCA_LocalHost" storeLocation="LocalMachine" storeName="My"
x509FindType="FindBySubjectDistinguishedName" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="WcfSecurityService.TransportMsgBinding">
<!-- UsernameToken over Transport Security -->
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName"/>
</security>
</binding>
<binding name="WcfSecurityService.UnsecuredBinding">
<security mode="None"></security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<!--
<service name="WcfSecurityService.Service"
behaviorConfiguration="WcfSecurityService.ServiceBehavior">
<host>
<baseAddresses>-->
<!--<add baseAddress="http://localhost/WcfSecurityService/" />-->
<!-- SvcUtil.exe need Cassini Server (not IIS)-->
<!--<add baseAddress="http://localhost:8002/WcfSecurityService/" />
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
contract="WcfSecurityService.IService"
bindingConfiguration="WcfSecurityService.UnsecuredBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>-->
<service name="WcfSecurityService.SecuredService"
behaviorConfiguration="WcfSecurityService.SecuredServiceBehavior">
<host>
<baseAddresses>
<!--<add baseAddress="https://localhost/WcfSecurityService/" />-->
<!-- SvcUtil.exe need Cassini Server (not IIS)-->
<add baseAddress="https://localhost:8003/WcfSecurityService/" />
</baseAddresses>
</host>
<endpoint address="https://localhost:8003/WcfSecurityService/"
binding="wsHttpBinding"
contract="WcfSecurityService.IService"
bindingConfiguration="WcfSecurityService.TransportMsgBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="securedmex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
...
SSL Certificate bindings:
-------------------------
IP:port : 0.0.0.0:8003
Certificate Hash : d321b6f1d2c4085f36ebbd51e72a3dc3e2332589
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Enabled
I'm new to cryptography and I'm a bit stuck:
I'm trying to connect (from my development environment) to a web service using HTTPS. The web service requires a client certificate - which I think I've installed correctly.
They have supplied me with a .PFX file. In Windows 7, I double clicked the file to install it into my Current User - Personal certificate store.
I then exported a X509 Base-64 encoded .cer file from the certificate entry in the store. It didn't have a private key associate with it.
Then, in my app, I'm attempting to connect to the service like this:
var certificate = X509Certificate.CreateFromCertFile("xyz.cer"));
var serviceUrl = "https://xyz";
var request = (HttpWebRequest) WebRequest.Create(serviceUrl);
request.ClientCertificates.Add(certificate);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
I get a 502 Connection failed when I connect.
Is there anything you can see wrong with this method? Our production environment seems to work with a similar configuration, but it's running Windows Server 2003.
If I have a standard HTML textbox
[Code]....
but got a readonly error.
I have a requirement of adding server side variables in client side and other way round. Because I need to set a value from client side using javascript and access the same in code behind page.
I have to use C#.Net and JavaScript.
Suppose I'm building a StackOverflow clone using webforms ASP.NET and jQuery. The Question page has a question, several answers, and comments under each. Requirements:Users can post new answers and comments, and edit existing ones, without postbacks. No UpdatePanels; the AJAX calls retrieve just the JSON they need, not HTML fragments. The page loads with all existing answers and comments in place (no javascript needs to run to read the page).
What I'm trying to figure out is how to do this without having to maintain two sets of markup (one that's bound on the client using some form of jQuery templating, and one that's bound on the server using traditional WebForms).
I reordered some items in a listbox using Javascript. When I read the items in a postback in the code behind (ASP.NET), the order is in the original order. How do I get the same order as shown in the screen after Javascript manipulation?
View 3 RepliesI m using site login Control in my login.ascx file and disaplaying login control in Div so if there is login link in page and i click on that then Login Div will popup which is site login.May i know how can handle error like username or password is incorrect on client side instead server side?
View 6 RepliesI have to implement the print functionality on aspx page like on click of print image icon user will be able to get the print out of aspx page .aspx page will contain the server controls like textboxes , Gridview etc which one approach will be the best server side or client side printing ?
View 4 RepliesI am trying to set a hidden type value to x on Server Side and then access it with Javascript. I have tried multiple ways to accomplish this.
At the basic level this is what I am trying to do.
Aspx page
<asp:HiddenField ID="HidRowNumber" runat="server" />
CS Page
In IsPostBack
HidRowNumber.Value = EFileRowNumber.Text;
Javscript
var status = document.getElementById("<%= HidRowNumber.ClientID %>").value;
When I am debugin it say it HidRowNumber's Value has changed to x but when I access the value with JS it always returns ''.