У меня возникла проблема с получением клиентом веб-службы 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.