我試圖生成WSDL,然後使用客戶端手動在WSDL中找到每個XSD。該服務目前僅在我的本地主機上,並且尚未發佈。如何將WCF WSDL和XSD分享給未訪問服務的客戶端(尚)?
客戶越來越以下錯誤:
該文件的理解,但無法進行處理。 WSDL文檔包含無法解析的鏈接。 下載'http:// localhost:xxxx/MyService.svc?xsd = xsd0'時出錯。 無法連接到遠程服務器的連接可以作出,因爲在 目標機器積極地拒絕它127.0.0.1:xxxx
應如何服務的WSDL和XSD的生成和共享,使他們能夠開始編碼客戶端(不訪問服務大氣壓?
編輯 的問題涉及到這些在WSDL/XSD
WSDL
<xsd:schema targetNamespace="http://tempuri.org/Imports">
<xsd:import schemaLocation="http://localhost:xxxx/MyService.svc?xsd=xsd0"
namespace="http://tempuri.org/"/>
<xsd:import schemaLocation="http://localhost:xxxx/MyService.svc?xsd=xsd1"
namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://localhost:xxxx/MyService.svc?xsd=xsd2"
namespace="**MYNAMESPACE**"/>
</xsd:schema>
XSD
<xs:import schemaLocation="http://localhost:xxxx/MyService.svc?xsd=xsd1"
namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
編輯2: 感謝@The Indian Programmmer
我能夠生成一個代理類程序對使用此命令:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\svcutil.exe" -noconfig -namespace:*,SERVICE.INTERFACE.NAMESPACE -serializer:datacontractserializer https://My-PC/SvrLocation/MyService.svc?wsdl
(在本地IIS託管)
http://stackoverflow.com/questions/985320/wcf-how-to-generate-a-single-wsdl-document-without-wsdlimport可能有助於 – paragy
謝謝,NET 4.5看起來非常方便,內置singleWsdl而不是?wsdl – lko
我不知道如何選擇「答案」。我使用@The Indian Programmer和@ Kristof的答案來獲得一個可以編程的.cs文件(包含服務合同和DataContracts)。我更改'schemaLocation =「localfile.xsd」',然後使用'wsdl.exe file.wsdl localfile.xsd localfile2.xsd localfile3.xsd',所以基本上他們都幫我解決了這個問題。 – lko