Access WCF in Azure Using Mapped Domain Name - wcf

I have a WCF service in Azure. I can reference its IP address and successfully hit it with a browser or with WcfTestclient.exe. I've gone into GoDaddy and mapped svc.mydomain.com to my IP/port and now I can't hit with a browser, but not with WcfTestClient.exe. The error is "Error: Cannot obtain Metadata from http://svc.mydomain.com/Service1.svc?wsdl... Metadata contains a reference that cannot be resolved: 'http://svc.mydomain.com/Service1.svc?wsdl'. The remote server returned an unexpected response: (408) Request. The remote server returned an error: (408) Request Timeout.HTTP GET Error URI: http://svc.mydomain.com/Service1.svc?wsdl The HTML document does not contain Web service discovery information."
When I hit it with the browser it comes back with the stock html showing that it found the service, but it refers to it by its IP, so I wonder if it's a config file change that I need to make.
Is it best practice to nickname my service with a CNAME (i.e. svc.mydomain.com) and thus reference my services with like: http://svc.mydomain.com/MyService.svc?

You shouldn't rely on the IP address for a Windows Azure service. The IP addresses can and almost certainly will change (for instance, if you deploy from within Visual Studio, it tends to result in a different IP address being allocated).
You service already has a DNS name: deployment name.cloudapp.net
The Windows Azure Management Portal will show you the DNS name.
If you want to address the service using a different DNS name, use a CNAME to create a DNS alias.

Related

IIS web site with host name can't be accessed by IP address

I have mvc 4 web api project set up on IIS giving host name as my computer name. When I call it by mycoumputername:portno, I can access my web api. But when I call it by myIPaddress:portno, I couldn't access it. But when I create new Site without giving host name as computer name, default as localhost, it can be access by IPaddress:portno. I can't find the reason. Anyway, I need to define hostname as my computer name to access from remote computers by www.mycomputername.com and also need to use IPAddress:portno for accessing from mobile.
Please help me, anyone. Thank you and appreciate your help.
The reason is the host name setting.
When you set a host name in IIS site binding you explicitly requires all requests to this site to contain the desired host header (read HTTP protocol for details).
When your browser accesses the site using the IP address, the requests won't contain the header to match your IIS side setting.
That's simply by design.
You just need to create a new binding in IIS for the domain without a host name and with the port number.

IBM Application Center not list apps via Public URL

I am using IBM Application Center version Version: 7.0.0.00-20150312-0731 which comes with MobileFirst Platform foundation consumer edition.
Its configured on WAS ND 8.5.5 in a clustered environment and DB2 database.
If i access the App Center console via internal ip and port, it list the application published in the console.
The same is not listing if, i access the console via Public IP / DNS. Getting the error in console - "Server error. Contact the server administrator."
No logs printing on the ApplicationCenterCluster log file for the same request.
But for local ip access i can see all the logs printing.
No clue were is the problem.
Trace and SystemOut log files
1) As it seems you use IHS in front of WAS you must configure the proxy endpoints as documented here : http://www-01.ibm.com/support/knowledgecenter/SSHSCD_7.0.0/com.ibm.worklight.installconfig.doc/appcenter/r_ac_appres_endpoint.html
2) In ApplicationCenterClusterMem02 you have an error HMGR0024W meaning that the WAS high availability manager was unable to resolve the IP address for DNS Name. Either the host is unknown or has mappings to duplicate IP addresses.

Domino agent - Remote server is not a known TCP/IP host

I have a Domino development server I can't get web-based emails to send from. The error I'm getting is "The remote server is not a known TCP/IP host". The server works fine for Notes based emails, but I'm generating emails from LotusScript in an app, and they are not sending.
This server was recently created (Dom 8.5.3).
I have the server sending email directly to the Internet on all location documents (for Notes client).
See IBM Technote #1099632 "Notes/Domino background agent fails to send mail; Errors may occur in logs":
These errors may be caused by an improper entry for the Mail Server field in the Server document in the Domino Directory (public Name and Address Book).
The errors may also be caused by a server configuration or TCPIP issue. For example, if the Network Address field for a TCPIP port contains either an incorrect host name or an IP address, the errors occur. If the DNS is not working correctly the errors will occur.
The issue was noted in at least one case because the server was resolvable by IP address but not resolvable by Fully Qualified Host Name (FQHN). The IP address was listed in the Net Address field of the Server document but this error message still appeared. To resolve this issue, update the DNS servers to point the FQHN to the correct server. In one case it was discovered that the particular Domino server was not listed in its own host table. Update the host file of the server with the FQHN pointing to its own IP or localhost address.
The Technote also provides steps to troubleshoot the issue.
Also, you can enable some debugging to determine where the problem surfaces.
For outbound SMTP-related issues, enable the debug parameters below on the server to capture data:
CONSOLE_LOG_ENABLED=1
DEBUG_THREADID=1
debug_show_timeout=1
debug_capture_timeout=1
SMTPClientDebug=1
See Collecting data for Domino SMTP mail routing issues for more details on that

WCF hosting issue on IIS 7 server with multiple IPs

This service is hosted on Win2k8 R2 with wshttp binding and all security options are disabled specifically. If I assign "All unassigned IP" in binding it is working well. However if I assign a specific IP, it fails during service reference ( wcftestclient Add service option) with message like Report from 'DISCO Document' is 'There was an error downloading 'http://abcd.xxxxx.net/Management/ManagementService.svc?disco'.'.
- The request failed with HTTP status 404: Not Found.
I see that it picks the machine name though we started with http://10.10.1.1/Milestone/Milestone.svc. I checked with ping that abcd is not mapping to 10.10.1.1 but another Ip of same machine 10.10.1.2.
How can I force WCF to use IP instead of machine name? Or is there any other way to address the scenario.
If you enter http://10.10.1.1/Milestone/Milestone.svc into a web browser, instead of WCFTestClient, does that work? Switching from IP to the machine name may just be something that WCFTestClient does, but that shouldn't effect your eventual "real" clients, since they can use IP or server name.
I host my WCF services on Win 2k8 in IIS on a machine that has >1 IP, and it works fine, but in my case I bind WCF to only 1 IP address. It has been a while since I set that up, but I thought in the WCF configuration, and endpoint had to be bound to only 1 IP address. That IP should match what IIS is set to accept also. Alternatively, I think multiple endpoints can be created, one for each IP.

unable to use WCF service in c# project - MetaData Error

Service Location:
http://1.1.1.1:5670/Test_Service/Service.SearchService.svc
Error:
The document was understood, but it could not be processed.
- The WSDL document contains links that could not be resolved.
- There was an error downloading 'http://mycompany.com/Test_Service/Service.SearchService.svc?xsd=xsd2'.
- The remote name could not be resolved: 'mycompany.com'
Metadata contains a reference that cannot be resolved: 'http://1.1.1.1:5670/Test_Service/Service.SearchService.svc?wsdl'.
There was no endpoint listening at http://1.1.1.1:5670/Test_Service/Service.SearchService.svc?wsdl 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.
If the service is defined in the current solution, try building the solution and adding the service reference again.
This only happens when i am not on the VPN. If i am on the VPN things work well. Also mycompany.com is only availalbe internally.
I can view the WSDL when not connected to the VPN
Your VPN probably gives you an ip address in the 1.1.1.* subnet (internal to your company's network). So, when you are connected to VPN, you can reach the server and when you are not connected, you cannot (because you are outside the company's network without VPN).
There is likely no resolution to this issue unless your company is willing to expose that server externally. Just use your VPN.
Per comment: Yes and you can see the WSDL like this http://1.1.1.1:5670/Test_Service/Service.SearchService.svc?wsdl but you will need to be VPN'd in. :)