I created a custom web service in my sharepoint using CSKDev template. Everything looks good when I'm testing my service locally. But problems came up when I decided to test it on our sample farm with Internet access.
Assuming we have local domain named foo.local
, and two load-balanced servers - web1 and web2. Our site can be accessed from outside via eg. sharepoint.foo.com
. The problem is that when I try to access service metadata, I find that additional wsdl schemas are pointing locally, not externally, eg. accessing site http://sharepoint.foo.com/_vti_bin/IntegrationServices/PortalMessageService.svc/mex
results in wsdl with reference to:
<xsd:import schemaLocation="https://web1.foo.local/_vti_bin/IntegrationServices/PortalMessageService.svc/mex?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
web1.foo.local is not accessible from Internet, so how to fix this? What should I do to make additional schemas available by the external address of our portal?
EDIT 1:
When I open my service metadata with WcfTestClient and open Client.dll.config, I can see three bindings looking the same and three endpoints where only first has configured address.