Итак, я пытаюсь использовать мыло для связи с веб-сервисом и получения ошибок. Что вызывает разочарование по поводу этой конкретной проблемы, так это то, что она прекрасно работает с моей локальной копией веб-службы (да, я пытался отключить брандмауэр) и используется для нормальной работы с предыдущей версией веб-службы и клиента. Я подозреваю, что могу (хотя мне придется посмотреть, как это сделать) добавить параметр действия к тому, что отправляет клиент. Однако мне очень любопытно, почему раньше он мог работать без него.
Edit Clarification : я думаю соответствующий код был одинаковым между тем, когда он перестал работать и когда он работал (так как я проверял старую версию программы и имел то же самое проблемы и соответствующий код был таким же ... если я не пропустил что-то тонкое). Я знаю фактическая программа сервера одинакова как для локальной, так и для удаленной копии, даже если она работает только локально. Поэтому я подозреваю, что есть какая-то странная настройка конфигурации, которую я могу изменить, чтобы она работала.
Сообщение об ошибке: «soap: ClientUnable для обработки запроса без действительного параметра действия. Пожалуйста, укажите действительное действие soap."
VB код клиента
'WEB_SERVICE_URL_CONST = http://site.com/foo.asmx
'domDoc.xml = <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><TestConnection xmlns="http://site.com"/></soap:Body></soap:Envelope>
Dim oXml As New XMLHTTPRequest
oXml.Open "POST", WEB_SERVICE_URL_CONST, False, "\"
oXml.setRequestHeader "Content-Type", "text/xml"
oXml.send domDoc.xml
C # Код сервера
[WebMethod]
public int TestConnection()
{
return 1;
}