2010-07-05 94 views
10

以下是我服務的WSDL文件:如何更改WCf服務的wsdl文件中的默認schemalocation?

<wsdl:types> 
     <xsd:schema targetNamespace="http://tempuri.org/Imports"> 
     <xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd0" namespace="http://tempuri.org/" /> 
     <xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" /> 
     <xsd:import schemaLocation="http://localhost:3789/VideoUpload.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/UploadVideoProtocol" /> 
     </xsd:schema> 
    </wsdl:types> 
----- 
<wsdl:definitions> 
<wsdl:service name="VideoUpload"> 
<wsdl:port name="BasicHttpBinding_IVideoUpload" binding="tns:BasicHttpBinding_IVideoUpload"> 
    <soap:address location="http://localhost:3789/VideoUpload.svc" /> 
    </wsdl:port> 
    </wsdl:service> 
</wsdl:definitions> 

在上面,我可以通過指定服務合同和行爲的代碼裏面的自定義命名空間更改命名空間。

但我需要改變模式位置指定的端點地址,

的schemaLocation = 「HTTP://本地主機:3789/VideoUpload.svc XSD = xsd0?」

我自己定義端點地址爲:

的schemaLocation = 「http://myservice.com:8080/VideoUpload.svc?xsd=xsd0」

程序是什麼噸做到這一點?在代碼中必須提到更改生成的默認終結點?任何人都可以幫助我嗎?

回答

6
+1

嘿感謝...偉大工程。但是當我分配一個域名,而不是我無法訪問的IP地址。如何使用相同的域名,而不是指定一個IP地址? – Googler 2010-07-05 15:10:37

+0

它應該工作,因爲DNS解析IP地址併發送請求到特定的IP,確保配置設置 – IBhadelia 2010-07-05 17:34:43

+0

配置設置的Web配置或IIS?我將IIS上託管的特定服務的主機頭部更改爲某個域(www.yourdomain.com)。我在httpGetUrl中提到了與http:\\ www.yourdomain.com:8080/VideoUpload.svc?相同的內容。但它不起作用。我可以知道什麼是所有的設置必須改變在IIS中?你可以幫我嗎? – Googler 2010-07-06 05:24:05