Итак, я пытаюсь использовать мыло для связи с веб-сервисом и получения ошибок. Что вызывает разочарование в этой конкретной проблеме, так это то, что она отлично работает с моей локальной копией веб-сервиса (да, я пытался отключить брандмауэр) и отлично работал с предыдущей версией веб-сервиса и клиента. Я подозреваю, что могу (хотя мне придется искать, как это сделать) добавить параметр действия к тому, что клиент отправляет. Тем не менее, мне очень любопытно, почему он смог работать ранее без него.Отказ от мыла
Редактировать Разъяснение: Я думаю соответствующий код был то же между тем, когда он перестал работать, и когда он работал (так как я проверил против старой версии программы и имел те же проблемы, и соответствующий код был то же ... если я не пропустил что-то тонкое). I знаю Фактическая серверная программа одинакова как на локальной копии, так и на удаленной копии, хотя она работает только локально. Поэтому я подозреваю, что существует какая-то странная настройка конфигурации, которую я могу изменить, чтобы заставить ее работать.
Сообщение об ошибке: «soap: ClientUnable для обработки запроса без действительного параметра действия. Пожалуйста, поставьте действительное действие мыла».
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;
}
Пронумерованные строки не существуют в реальной версии: они были добавлены, чтобы предоставить контекст, который не содержит код примера. Я подтвердил, что значения были тем, что я сказал, что они были во время выполнения, хотя URL-адреса в обоих местах являются поддельными. – Brian