Невозможно импортировать локальные 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. Пожалуйста, перейдите по ссылке ниже:

Как сгладить свой wsdl.

ПРИМЕЧАНИЕ. Если вы используете.NET 4.5, это будет встроенная функция. то есть, когда вы разрабатываете свой сервис, вы увидите URL, который генерирует плоский wsdl.

Другие вопросы по тегам