powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java webservice
29 сообщений из 29, показаны все 2 страниц
Java webservice
    #39563412
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветсвую!
Я в java новичок.
Есть две системы: oracle и Lotus. Необходимо из оракла передать данные (например select id, name from clients) в лотус. Была создана два вэбсервиса wsdl сылками т.е. со стороны ссылка считывает данные, со стороны лотуса прием данных. Вопрос в том как передать данные минуя уже переданные данные? При этом структуру таблицы client менять нельзя и какие либо признаки в таблице отсутствуют.
...
Рейтинг: 0 / 0
Java webservice
    #39563413
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Java webservice
    #39563414
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov Java Lotus Notes ?
Это, конечно, если нельзя создать приложение Notes, которое будет читать данные из СУБД .

Из-за безопасности в доступе отказали, поэтому приходиться создавать отдельный веб сервис на третьем компьютере дабы осуществить передачу данных из оракл в лотус. Wsdl ссылка оракла на считывание и лотус для приема уже существует.
...
Рейтинг: 0 / 0
Java webservice
    #39563419
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у вас нет надёжного признака "новая запись" в исходной таблице, то нет и возможности отследить "уже переданное".

P.S. Что, совсем ничего нет? Ни первичного ключа, ни требований уникальности?
...
Рейтинг: 0 / 0
Java webservice
    #39563421
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovЕсли у вас нет надёжного признака "новая запись" в исходной таблице, то нет и возможности отследить "уже переданное".

P.S. Что, совсем ничего нет? Ни первичного ключа, ни требований уникальности?

Почему есть id-шник в таблице clients
...
Рейтинг: 0 / 0
Java webservice
    #39563430
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatПочему есть id-шник в таблице clientsНу и какая проблема хранить идентификаторы уже переданных записей?
Хоть в памяти сервиса, хоть в промежуточной базе?
...
Рейтинг: 0 / 0
Java webservice
    #39563432
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Ничё не понятно.
Это 2 разные задачи.
На лотус обычно есть API, ну или сервис.
И пробуете в лотусе создать новый объект.
Без всякого пока Оракле.
Потом уже из Оракле взять конкретный объект.
Модели разные и там и там.
...
Рейтинг: 0 / 0
Java webservice
    #39563436
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askatминуя уже переданные данные?
Циклом проверяя что есть
Или в Оракл всавить GUID нового с лотуса.
...
Рейтинг: 0 / 0
Java webservice
    #39563438
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Или завести журнал табличку что вставлялось.
Или записывать в тетрадку.
Или ...
))
...
Рейтинг: 0 / 0
Java webservice
    #39563453
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Askat,
Или завести журнал табличку что вставлялось.
Или записывать в тетрадку.
Или ...
))

Кстати я уже предлогал создать таблицу куда будут сохраняться вставленные записи - сказали НЕТ. А вот в памяти можно хранить до 5000-10000 записей, сервис не нагнется, Что делать в случае срабатывания таймаут скажем связь потерялась или память очистилась?
...
Рейтинг: 0 / 0
Java webservice
    #39563458
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче есть решение. На стороне лотуса создать еще один сервис, при вызове который считывает эту же таблицу в лотусе куда нужно вставить данные на предмет присутсвии id-шника.
...
Рейтинг: 0 / 0
Java webservice
    #39563459
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatЧто делать в случае срабатывания таймаут скажем связь потерялась или память очистилась?Это как???
Единственное, о чём надо думать - что делать в случае перезапуска сервиса.
Если запрещено хранить даже идентификаторы записей, то придётся или запросить у Лотуса список того, что он уже получили или сообщить (Лотусу), что требуется произвести очистку и заново загрузить все записи.
...
Рейтинг: 0 / 0
Java webservice
    #39563510
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Ты хоть пять минут код писал?
В лотусе добавить ещё поле или атрибут в объект перемещения OracleID как 2 пальца.
...
Рейтинг: 0 / 0
Java webservice
    #39563517
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatКстати я уже предлогал создать таблицу
Это на случай паранойи, когда переносим не весь объект, а обрезаем ID оракла.
...
Рейтинг: 0 / 0
Java webservice
    #39563521
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Ну и скажи там шефу, что закон любого сервиса - поаторная вставка не должна там ничего ломать. Будет просто апдейт
...
Рейтинг: 0 / 0
Java webservice
    #39563556
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Askat,
Ну и скажи там шефу, что закон любого сервиса - поаторная вставка не должна там ничего ломать. Будет просто апдейт

Апдейт тоже не канает т.к. после вставки в лотус запись обновляет пользователь и на обновленную запись нельзя записывать из оракл. Похоже надо еще один сервис мутить на стороне лотус
...
Рейтинг: 0 / 0
Java webservice
    #39563568
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatАпдейт тоже не канает т.к. после вставки в лотус запись обновляет пользователь
Ты смешал 2 вопроса, ID и законы сервисов в повторяемости.
По первому - в лотус идёт весь объект? Вместе с ID?
...
Рейтинг: 0 / 0
Java webservice
    #39563613
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AskatАпдейт тоже не канает т.к. после вставки в лотус запись обновляет пользователь
Ты смешал 2 вопроса, ID и законы сервисов в повторяемости.
По первому - в лотус идёт весь объект? Вместе с ID?

Да там все поля идут. В оракле и в лотусе структура таблиц одинаковые
...
Рейтинг: 0 / 0
Java webservice
    #39563663
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatPetro123пропущено...

Ты смешал 2 вопроса, ID и законы сервисов в повторяемости.
По первому - в лотус идёт весь объект? Вместе с ID?

Да там все поля идут. В оракле и в лотусе структура таблиц одинаковые
Ну дак по Id оракла в лотусе видно, вставлял или нет.
?
...
Рейтинг: 0 / 0
Java webservice
    #39563667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Может мы о разном?
В Lotus Notes Domino нет реляционной бд и талиц )))LOL
...
Рейтинг: 0 / 0
Java webservice
    #39563694
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatКстати я уже предлогал создать таблицу куда будут сохраняться вставленные записи - сказали НЕТ. А вот в памяти можно хранить до 5000-10000 записей, сервис не нагнется, Что делать в случае срабатывания таймаут скажем связь потерялась или память очистилась?

Если web-сервис сделан прямо в Domino, то он ничего между сеансами связи хранить не будет.
...
Рейтинг: 0 / 0
Java webservice
    #39563726
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Askat,
Может мы о разном?
В Lotus Notes Domino нет реляционной бд и талиц )))LOL

Лотус является документоориентированной базой, где данные хранятся в документах и есть понятие представления т.е. view с помощью которой запрашиваются данные используя select'ы
...
Рейтинг: 0 / 0
Java webservice
    #39563738
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Ну view ведь не таблица.
И id документа лотус это Гуид.
...
Так в чём вопрос, если всё есть.
...
Рейтинг: 0 / 0
Java webservice
    #39563757
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Askat,
Ну view ведь не таблица.
И id документа лотус это Гуид.
...
Так в чём вопрос, если всё есть.

Я не разбираюсь в лотусе и незнаю как там все устроено, но факт в том что есть wsdl ссылка, которая была создана в лотусе, с помощью которой нужно сохранить данные грубо говоря в таблицу.
А как это сделать я понятие не имею, поэтому я обрптился сюда. Хорошо в качестве лотуса можно взять ms sql server... И вот теперь с помощью wsdl ссылок нужно передать данные из оракла в ms sql!
...
Рейтинг: 0 / 0
Java webservice
    #39563760
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И да, еще это всю белиберду надо замутить в нетбинсе без использования сторонних библиотек, а только встроенную билиотеку Metro2...

Блин, наверное наглый запрос получился от меня к вам)))
...
Рейтинг: 0 / 0
Java webservice
    #39563769
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Askat,
Задай новую тему - "Как создать в лотусе новый документ?"
Или умеем?
...
Рейтинг: 0 / 0
Java webservice
    #39563783
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatЯ не разбираюсь в лотусе и незнаю как там все устроено, но факт в том что есть wsdl ссылка, которая была создана в лотусе, с помощью которой нужно сохранить данные грубо говоря в таблицу.
А как это сделать я понятие не имею, поэтому я обрптился сюда. Хорошо в качестве лотуса можно взять ms sql server... И вот теперь с помощью wsdl ссылок нужно передать данные из оракла в ms sql!

Это как вырезать гланды через задний проход.

Ваш Java код, который берёт данные из Oracle и кладёт их в Lotus Notes, как и где запускаться будет? Как вы планируете обеспечить или подтвердить целостность - что всё что вы взяли в Oracle дошло до Domino и было там сохранено без ошибок? В вашей конторе про LEI или DECS ничего не слышали? Про Java агентов и JDBC наконец?
...
Рейтинг: 0 / 0
Java webservice
    #39563814
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AskatВопрос в том как передать данные минуя уже переданные данные?
Получается, что вопрос про "минуя" был фальшивый.
И ты вообще даже не минуя ничего не делал.
Полный ноль?
...
Рейтинг: 0 / 0
Java webservice
    #39564142
Askat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123AskatВопрос в том как передать данные минуя уже переданные данные?
Получается, что вопрос про "минуя" был фальшивый.
И ты вообще даже не минуя ничего не делал.
Полный ноль?

В общем сделал, при каждом запуске сервиса кот. была сделана на третьем компе выполняется цикл, где построчно отправляет данные в сервис, который сохраняет данные в лотус. При успешной вставке возвращает 0 иначе 1

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.service.cache;

import GetInfo.GetCacheInfo;
import Lotus.Response;
import static com.sun.org.apache.xalan.internal.lib.ExsltDatetime.date;
import connection.ConnectionDB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;




@WebService(serviceName = "Cache")
public class Cache {
    
    
//    public static void main(String[] args)
//     {
//        try {
//            Cache cah = new Cache();
//            cah.getComPayList("01.01.2017", "28.11.2017");
//        } catch (SQLException ex) {
//            Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
//        } catch (ClassNotFoundException ex) {
//            Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
//        }
//        
//        
//     }    
    
        
    
 
    private ArrayList<GetCacheInfo> getComPayList(String begin_date, String end_date) throws SQLException, ClassNotFoundException {
        
        ArrayList<GetCacheInfo> al = new ArrayList<GetCacheInfo>();
        
        Connection connect;
    //    PreparedStatement stmt = null;
        connect = null;
        String url = "урлка";
        String name = "иванов";
        String password = "парольский"; 
       
        
         try {
             Class.forName("oracle.jdbc.driver.OracleDriver");   //Загружаем драйвер
             System.out.println("Драйвер подключен");
             connect = DriverManager.getConnection(url, name, password);
             System.out.println("Соединение установлено");
             PreparedStatement stmt=connect.prepareStatement(                     
                            "select " +
                                    "    бла бла бла бла" +
                                    
                            " from таблица  ");  
             
             stmt.setString(1, begin_date);  
             stmt.setString(2, end_date);
             
             ResultSet rs = stmt.executeQuery(); 
             
                       
             
             System.out.println("Выводим statement");
            
             while (rs.next()) 
             {
                GetCacheInfo cmp = new GetCacheInfo();
                cmp.setIdOperation(rs.getString("IdOperation"));
                cmp.setPay_date(rs.getString("pay_date"));
                cmp.setPay_time(rs.getString("pay_time"));
                cmp.setUstroystvo(rs.getString("Ustroystvo"));
                cmp.setAccTerminal(rs.getString("AccTerminal"));
                cmp.setAmountPay(rs.getString("AmountPay"));
                cmp.setAmountCom(rs.getString("AmountCom"));
                cmp.setProvider(rs.getString("Provider"));
                cmp.setTypeOper(rs.getString("TypeOper"));
                cmp.setKod_uslug(rs.getString("Kod_uslug"));
                cmp.setParametrs(rs.getString("Parametrs"));
                al.add(cmp);
                
                
            }
            
            rs.close();
             
        }catch (SQLException e) {

			System.out.println("e.getMessage()=" + e.getMessage());

		} finally {

//			if (null!= stmt) {
//                            stmt.close();
//			}

			if (null != connect) {
				connect.close();
			}
		}     
        
    return al;
    
    }   
    

    /**
     *
     * @param begin_date
     * @param end_date
     * @return
     */

   
    
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        return "Hello " + txt + " !";
    }

    /**
     * Операция веб-службы
     * @param begin_date
     * @param end_date
     * @return 
     */


    /**
     * Операция веб-службы
     */
    @WebMethod(operationName = "GetCacheInfo")
    public ArrayList<GetCacheInfo> GetCacheInfo(@WebParam(name = "begin_date") String begin_date, @WebParam(name = "end_date") String end_date)  
    {
        try {
            ArrayList<GetCacheInfo> arr = getComPayList(begin_date, end_date);
            for(GetCacheInfo c:arr) {
                Lotus.InputCrpt l = new Lotus.InputCrpt();
                l.setIdOperation(c.getIdOperation());
                l.setPayDate(c.getPay_date());
                l.setPayTime(c.getPay_time());
                l.setUstroystvo(c.getUstroystvo());
                l.setAccTerminal(c.getAccTerminal());
                l.setAmountPay(c.getAmountPay());
                l.setAmountCom(c.getAmountCom());
                l.setProvider(c.getProvider());
                l.setTypeOper(c.getTypeOper());
                l.setKodUslug(c.getKod_uslug());
                l.setParametrs(c.getParametrs());                        
                
                Response res = dataForLotus(l);
                String errcode = res.getErrCode();
                
                if (errcode == "0") {
                    System.out.println(c.getIdOperation());
                    continue;
                } else {
                    break;
                }
                
            }
            
           

        } catch (SQLException ex) {
            Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
        }   catch (ClassNotFoundException ex) {
                Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
            }
        return null;
        
        
//    try {
//        //TODO write your implementation code here:
//        return getComPayList(begin_date, end_date);
//    } catch (SQLException ex) {
//        Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
//    }   catch (ClassNotFoundException ex) {
//            Logger.getLogger(Cache.class.getName()).log(Level.SEVERE, null, ex);
//        }
//    return null;
        
    }

    private static Response dataForLotus(Lotus.InputCrpt inputcrpt) 
    {
        Lotus.RetrievalService service = new Lotus.RetrievalService();
        Lotus.Retrieval port = service.getDomino();
        return port.dataForLotus(inputcrpt);
    }



}
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Java webservice
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]