Click once application to connect to remote server - web-services

I have added this question on ServerFault but no one replied.
I have a .net application which calls a webservice deployed on my local windows server 2012 on IIS, and the sql server database resides on that server too. All employees connect to the same service and DB since we're all on the same domain, and I publish the app and webservice to the server through visual studio (2012).
Now I need to make employees access this application when they are outside the company's network, so I deployed the webservice on IIS on one of our remote windows 2012 servers, I created a public shared folder in my remote server and added to app webservice files to it and in visual studio I changed the publish method to web deploy and filled in the information as below:
Server: https://x.x.x.x/
Site Name: https://x.x.x.x/PublicFolder
Destication URL: https://x.x.x.x/PublicFolder/Application
When I click Validate Connection, it fails with the following message:
Could not connect to the remote computer ("x.x.x.x"). on the remote
computer make sure that Web Deploy is installed and that the required
process ("Web Management Service") is started. Learn more at:
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Unable to connect to the remote server
Note that I tried to replace https with http and I got another error:
Could not connect to the remote computer ("x.x.x.x"). on the remote
computer make sure that Web Deploy is installed and that the required
process ("Web Management Service") is started. Learn more at:
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.
the remote server returned an error: (401)Unauthorized
I went to the previous link and I did what they suggested:
Create a separate user group MSDepSvcUsers on remote computer.
Create an local account A on both local & remote computer.
Add A to MSDepSvcUsers on remote computer.
Use account A to publish, this will allow you to publish without
needing to use built-in admin account.
but the same error (NOT_ADMIN) remained
UPDATE: I found another possible solution:
Add/modify windows registery key
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\”
and set it “1”.
After I added this registry key, the error changed to:
site 'http:' does not exist ... #ERROR_SITE_DOES_NOT_EXIST
So now if I put wrong credentials, I get the unauthorized error, if I use correct credentials I get side does not exist error.
What should I do?

It worked!!
I mean the connection, it's now validated, all I had to do is change site name from "http://x.x.x.x/PublicFolder" to "Default Web Site\SiteName" !!
This was really confusing, finally got it!

Related

change port in wso2 sample

I am executing sample programm of wso2. I have installed wso2is on different machine and tomcat is on local machine. I have changed localhost:9443 to my ipaddress(eg 192.168.1.xxx) from travelocity.properties and avi.properties. But when I execute sample from click on login button it always redirecting me localhost and giving error.
I think you need to try the following,
While the tomcat is running,
Open the travelocity.war with an archive manager
Edit the travelocity.properties file,
update SAML2.IdPURL value
eg : SAML2.IdPURL=https://192.168.1.7:9443/samlsso
Save and update the travelocity.com web app
Restart the tomcat server just to be sure (You don't really have to do this since tomcat hot deploys once it detects a change)
I tried this locally and it redirected me to the IP address I put in SAML2.IdpURL. Clearly the problem seems to be a configuration error on the travelocity.com web app side :)
You need to change <HostName> and <MgtHostName> attributes at repository/conf/carbon.xml of your Identity Server with your IP address. By default they are set as localhost, so when logging it will be redirected to location specified there.

SharePoint online remote event receivers without Azure Service bus connector

I want my SP 2013 cloud app (office 365) to connect to my on premises WCF services. Visual Studio gives templates to create provider hosted apps for this purpose. However, that requires Windows Azure service bus connector that helps the app connect to WCF. Since I have a static IP, I want to get this done without the connector.
I attempted this by implementing IRemoteEventService in a new WCF with wsHTTPBinding with security as none. This is running on static IP machine with all connections allowed on the port where this service is listening. I was able to call this service from my test WCF client over the internet.
Now in my app, I changed my end point to this WCF service. When app installs it tries to call this end point to deliver the app install event. However, it gives error that end point is not available or there is a soap error.
Please provide pointers on what changes are required in WCF configuration to receive calls from SharePoint. Thanks.

SOAP client in IIS cannot access web services in Tomcat

I have IIS (localhost:443) and Tomcat (localhost:8080) both running on my local machine. The Tomcat contains Java web services and I can remotely debug it in Eclipse IDE. I have an application installed in my IIS and when I access the page of that application, it requests a web service in Tomcat.
The problem is that when I try to load the page (the one deployed in IIS), my Eclipse won't go to the break point, meaning no request was retrieved on the Tomcat side.
But when I try to execute a request using SoapUI, Tomcat receives it and it enters my breakpoint in Eclipse. (meaning that the web services are accessible)
I cannot debug the application in IIS so I cannot determine why it can't call the web service.
Do I need to setup Windows Firewall for it? I'm just running those apps in my local machine.
Any ideas?
I got it working. My problem was permission issues in c:\windows\temp directory. I found my answer here http://nishantrana.wordpress.com/2008/02/06/unable-to-generate-a-temporary-class-result1-error-cs2001-source-file-cwindowstempfilenamecs-could-not-be-found-error-cs2008-no-inputs-specified/

The request failed with HTTP Status 403: Forbidden when calling a web service

I have a problem when calling a method from an external web service.
The error returned is as follows:
The request failed with HTTP Status 403
My application is deployed using ClickOnce technology. The strange thing is that when I call service (test the code) on my development machine and additionally in test environment (IIS 6, Windows 2003 Server) everything is fine.
Unfortunately when application is in production environment (Windows 2003 Server, IIS 6) the error is returned.
I don't use a service reference to call a web service, instead I use a proxy class generated from wsdl.exe application. Can someone please help me.
EDIT:
I noticed that I can't even access wsdl file using web browser from that production server. This production server is also in different domain.
I found the solution of my problem. It seems that the company that owns the external web service has some kind of access list with IP addresses allowed to access this web service

Connecting to SQL Server database via Web service

1.) I can create a simple application which has one routine called
function ConnectToDB: Boolean
and run it from my virtual directory (wwwroot/cgi-bin) and it connects and reports back connected .
2.) I can create a simple web service helloWorld
function helloWorld: String;stdcall;
I can create a client and call my web service call "helloWorld "and get my "HELLO WORLD" string reported back to me - everything works great.
3.) NOW, if i take my connection code from step one (1) and put it into a web service, i can not connect to the DB. It always reports back false.
Note: I am Using Delphi 7 to create my web service. I am using DBXpress as the conduit to the MS SQL Server DB, and the two INI files (dbxconnections.ini, dbxdrivers.ini) and two DLL's required for the connection reside in the same folder as the executables (wwwroot/cgi-bin).
Any help would ge greatly appreciated! Again, please be aware of steps 1 & 2, before responding.
Thanx!
How does the connection connect - does it use integrated windows authentication, or do use sql authentication - could it be that integrated auth doesn't work because iis is running as another user.
Also, when you connect, are you ensuring you disable the username/password prompt?