Я создал веб-сервис в glassfish v3. Метод, который я пытаюсь вызвать из .net с использованием сгенерированного клиента в Visual Studio 2008, принимает один параметр, который в основном представляет собой Java-бин - простые типы (Double, String, Date) как поля с методами получения и установки (на самом деле это сущность EJB). учебный класс). Я обнаружил, что когда я вызываю метод из моего клиента c #, нулевые значения принимаются для параметров Double и Date (но не для String) сервером. Интересно, что у меня также была эта проблема в клиенте, сгенерированном для java net beans, до тех пор, пока я не сделал защищенные поля bean-компонента вместо private в реализации веб-службы, но в случае java все не примитивные типы, включая String, пришли к нулю.
Поскольку java-клиент теперь работает, похоже, проблема в том, как .net сортирует данные. Мне интересно, могу ли я изменить способ, которым сервер генерирует wsdl, используя аннотации на стороне сервера, чтобы .net правильно интерпретировал его, или каким-то образом контролировать, как .net генерирует клиента - используя параметры для инструмента командной строки, а не генерация клиента с использованием Visual Studio, например. Я действительно не хочу создавать клиента вручную.