Я пытаюсь получить доступ к этой веб-службе SOAP (http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc), и у меня также есть доступные WSDL-файлы
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?wsdl
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?wsdl=wsdl0
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd0
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd1
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd2
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd3
Но я никогда не работал с мылом и не нахожу файлы WSDL достаточно ясными.
То, что я пытаюсь сделать, это запросить сервис для различных доступных операций, например, операция ListaMinistros , которая принимает параметр actualizacion , который является датой в формате ггггммдд.
Я перепробовал любую возможную комбинацию, чтобы связаться со службой, но он отвечает Конечная точка не найдена ответ.
Если бы вы могли предоставить мне пример SOAP XML, было бы замечательно, поскольку почти все другие доступные операции одинаковы, поэтому я не знаю, как это сделать самостоятельно.
Заранее спасибо
========
EDIT
Я установил ссылку WSDL в проекте C # с Visual Studio, чтобы определить, какой запрос он делает
Конфигурационный файл, который он предлагает:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="Rest">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
<httpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint
binding="customBinding" bindingConfiguration="Rest" contract="SCJN.Tematica"
name="Rest" />
</client>
</system.serviceModel>
Но он включает в себя адрес конечной точки, поэтому я изменил конечную точку так:
<endpoint address="http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc"
binding="customBinding" bindingConfiguration="Rest" contract="SCJN.Tematica"
name="Rest" />
Но служба отвечает, что конечная точка не найдена.
Так есть ли способ узнать, по какому адресу звонить.
Также WSDL не перечисляет атрибуты SOAPAction, а скорее wsaw: Действие в поддерживаемых операциях, которое в моем .NET-коде переведено в следующее
[System.ServiceModel.OperationContractAttribute(Action="urn:Tematica/ListaMinistros", ReplyAction="urn:Tematica/ListaMinistrosResponse")]
ConsoleApplication2.SCJN.Ministro[] ListaMinistros(string actualizacion);