Клиент веб-службы VB.NET обращается к веб-службе Java — соединение прервано

У меня возникла проблема с получением клиентом веб-службы VB.NET объекта ответа от веб-службы Java. В процессе публикации этого вопроса кто-то из другого отдела добровольно предложил код, написанный для аналогичной ситуации. Я не мог найти это нигде в сети, поэтому я завершаю свой вопрос, чтобы помочь другим.

Dim myService As New theService.TheService()
Dim objCurrentPrice As New myService.CurrentPrice

myService.Credentials = New NetworkCredential("webuser", "123pass")

objCurrentPrice = myService.getCurrentPrice("10211012343")
MessageBox.Show(objCurrentPrice.Description)

Это не удалось:

objCurrentPrice = myService.getCurrentPrice("10211012343")

С внутренним исключением, указывающим, что соединение было прервано удаленным хостом.

Вот код с дополнительной строкой, которую дал мой коллега:

Dim myService As New theService.TheService()
Dim objCurrentPrice As New myService.CurrentPrice

myService.Credentials = New NetworkCredential("webuser", "123pass")
ServicePointManager.Expect100Continue = False

objCurrentPrice = myService.getCurrentPrice("10211012343")
MessageBox.Show(objCurrentPrice.Description)

Что устранило проблему совместимости. Веб-сервис представляет собой Apache CXF с добавлением некоторых элементов Spring.


person andematt    schedule 27.09.2010    source источник


Ответы (1)


Измените эту статическую переменную следующим образом:

ServicePointManager.Expect100Continue = False
person andematt    schedule 27.09.2010