Используя Visual Studio 2010, я разработал службу WCF, размещенную в веб-приложении, для использования третьей стороной.Они говорят мне, что они не могут вызвать это.Для тестирования они перенаправили меня на Altova XmlSpy и указали, что при создании нового запроса SOAP, если они выбирают «Отправить как SOAP + XML (SOAP 1.2)» в пункте меню «Изменить параметры запроса SOAP», они получаютследующие два диалоговых окна с предупреждением:
HTTP error: could not POST file ‘/TurniArc/WebServices/Processi.svc’ on server ’10.51.0.108’ (415)
Error sending the soap data to ‘http://10.51.0.108/TurniArc/WebServices/Processi.svc’ HTTP error: could not POST file ‘/TurniArc/WebServices/Processi.svc’ on server ’10.51.0.108’ (415)
Я действительно это подтвердил.Если этот флажок не установлен, запрос будет отправлен как требуется.И у меня никогда не возникало проблем с вызовом моего веб-сервиса с помощью soapUI, программного обеспечения, которое я всегда использовал для внутреннего тестирования.
Это первый веб-сервис, который я создаю, начиная без каких-либо теоретических знаний (но, думаю, все:-)), так что я даже не уверен, куда ковыряться, чтобы это исправить.Может ли проблема заключаться в привязке?Я создал сервис, используя Add / New Item / WCF Service и оставив все параметры по умолчанию, поэтому он должен быть BasicHttpBinding
Это часть serviceModel моего web.config
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true"/>
<!--other bindings related to proxies to other services I'm invoking -->
</system.serviceModel>
Myинтерфейс имеет только атрибут
[ServiceContract(Namespace="http://www.archinet.it/HRSuite/Processi/")]
, а реализующий его класс имеет атрибуты
[ServiceBehavior(IncludeExceptionDetailInFaults = true, Namespace = "http://www.archinet.it/HRSuite/Processi/")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Спасибо
Редактировать : третья сторона использует промежуточное ПО Oracle SOA