Невозможно импортировать локальные URL из wsdl
Я пытаюсь использовать веб-сервис WCF (который я сам не писал), используя мыло на iPhone. Я могу протестировать сервис, используя SoapUI и.Net WebService Studio, при запуске инструментов на одном веб-сервере. Но когда я пытаюсь сделать это с другого компьютера, оба инструмента перестают работать при попытке импорта с локального хоста:
<wsdl:import namespace="http://MyDomain.IGeneralInterface" location="http://localhost:8000/?wsdl=wsdl0"/>
wsdl0:
<xsd:schema targetNamespace="http://MyDomain.IGeneralInterface/Imports">
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd0" namespace="http://MyDomain.IGeneralInterface"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/MyDomain.IGeneralInterface"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd3" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<xsd:import schemaLocation="http://localhost:8000/?xsd=xsd4" namespace="http://schemas.microsoft.com/Message"/>
</xsd:schema>
Я надеялся использовать wsdl2objc, но он также не может распознать импорт.
Может кто-нибудь сказать, пожалуйста, почему это проблема и как ее решить???
1 ответ
Причина, по которой они терпят неудачу, заключается в том, что ваш wsdl не плоский. Для того, чтобы ваш сервис WCF был совместимым, вы можете подумать о выравнивании своего wsdl. Пожалуйста, перейдите по ссылке ниже:
ПРИМЕЧАНИЕ. Если вы используете.NET 4.5, это будет встроенная функция. то есть, когда вы разрабатываете свой сервис, вы увидите URL, который генерирует плоский wsdl.