Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:
null
. null
. null
, как если бы это был массив. null
, как если бы это был массив. null
как будто это было значение Throwable. Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null
.
Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html
Я использую эту функцию для получения данных из веб-сервиса.
Private Function HttpGetRequest(url As String) As DOMDocument
Dim req As XMLHTTP60
Set req = New XMLHTTP60
req.Open "GET", url, False
req.send ""
Dim resp As DOMDocument
If req.responseText <> vbNullString Then
Set resp = New DOMDocument60
resp.loadXML req.responseText
Else
Set resp = req.responseXML
End If
Set HttpGetRequest = resp
End Function
. СЕТЬ имеет хорошую поддержку веб-сервисов со дня один, таким образом, можно разработать клиентскую логику веб-сервиса в.NET как .dll библиотека/блок и использовать ее в приложении VB6 через COM Interop.
Предположение, что Вы работаете на Windows XP Professional или выше, один интересный метод, должно использовать моникер SOAP. Вот пример, снятый с некоторой страницы MSDN. Я не знаю, работает ли этот конкретный сервис, но Вы получаете идею...
set SoapObj = GetObject
("soap:wsdl=http://www.xmethods.net/sd/TemperatureService.wsdl")
WScript.Echo "Fairbanks Temperature = " & SoapObj.getTemp("99707")
Этот механизм также работает от VBScript. Который хорош.
Pocketsoap работает очень хорошо. Для генерации объектов используют генератор WSDL . Используя это Вы ничего не должны анализировать сами, плюс все хорошо и со строгим контролем типов.
Проверьте эту статью Scott Swigart на информационном центре MSDN VB 6.0.
Инструментарий SOAP является возможно лучшим, Вы могли добраться. При попытке сделать то же самое без него потребовало бы значительного дополнительного усилия. У Вас должны быть довольно серьезные причины сделать это.
формат сообщений SOAP не действительно легко читать или записать вручную, и сторонней библиотеке высоко рекомендуют.
На данный момент я добился определенного успеха, используя PocketSOAP для подключения к Salesforce API. Я не смог воспользоваться мастером WSDL, поскольку он генерирует имена файлов классов-оберток, используя первые 23 символа имен вызовов, что приводит к дублированию. Тем не менее, PocketSOAP работал достаточно хорошо для меня и без мастера, и это гораздо проще, чем использовать XMLHTTP с DOMDocument.
Я также рассматривал возможность создания обертки в .NET или использования одной из библиотек "MS Office {MSO version} Web Services Toolkit", но эти варианты были сопряжены со значительными трудностями при развертывании. PocketSOAP - это простая COM DLL, не зависящая от конкретной версии MS Office и лицензированная по MPL.