powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / что я делаю не так XML -RPC????
12 сообщений из 12, страница 1 из 1
что я делаю не так XML -RPC????
    #34774467
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решил создать клиент и сервер:



Код: plaintext
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.
 import  org.apache.xmlrpc.client.XmlRpcClient;
 import  org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
 import  org.apache.xmlrpc.XmlRpcException;

 import  java.net.URL;
 import  java.net.MalformedURLException;

 public   class  clientXML{

     public  clientXML(){


    }
     public   void  dd(){
        URL url =  null ;
         try  {
            url =  new  URL("http://127.0.0.1:1111");
        }  catch  (MalformedURLException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        XmlRpcClientConfigImpl config =  new  XmlRpcClientConfigImpl();
        config.setServerURL(url);

        XmlRpcClient client =  new  XmlRpcClient();
        client.setConfig(config);

        Object[] params =  new  Object[]{ new  Integer( 33 ),  new  Integer( 9 )};
        String retur =  new  String();
         try  {

            retur = (String) client.execute("S.d", params);
            System.out.println("retur: "+retur);
        }  catch  (XmlRpcException e) {
            e.printStackTrace();
        }

    }

}


Код: plaintext
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.
 import  org.apache.xmlrpc.webserver.WebServer;
 import  org.apache.xmlrpc.server.XmlRpcServer;
 import  org.apache.xmlrpc.server.PropertyHandlerMapping;
 import  org.apache.xmlrpc.server.XmlRpcServerConfigImpl;
 import  org.apache.xmlrpc.XmlRpcException;

 import  java.net.InetAddress;
 import  java.net.UnknownHostException;
 import  java.io.IOException;


 public   class  ServerXML {
    WebServer webServer =  null ;
     public  ServerXML(){

    }

     public   void  start (){
        WebServer webServer =  null ;
         try  {
            webServer =  new  WebServer( 1111 , InetAddress.getByName("127.0.0.1"));
        }  catch  (UnknownHostException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }


        XmlRpcServer xmlRpcServer = webServer.getXmlRpcServer();

          PropertyHandlerMapping phm =  new  PropertyHandlerMapping();
          /* Load handler definitions from a property file.
           * The property file might look like:
           *   Calculator=org.apache.xmlrpc.demo.Calculator
           *   org.apache.xmlrpc.demo.proxy.Adder=org.apache.xmlrpc.demo.proxy.AdderImpl
           */


         try  {
            phm.addHandler("S", s. class );
        }  catch  (XmlRpcException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        /* * phm.addHandler(org.apache.xmlrpc.demo.proxy.Adder.class.getName(),
        *     org.apache.xmlrpc.demo.proxy.AdderImpl.class);
        */
         // webServer.addHandler();

          XmlRpcServerConfigImpl serverConfig =
              (XmlRpcServerConfigImpl) xmlRpcServer.getConfig();
          serverConfig.setEnabledForExtensions(true);
          serverConfig.setContentLengthOptional(false);

         try  {
            webServer.start();
        }  catch  (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        System.out.println("port: "+webServer.getPort());
    }
}

при попытке вызвать функцию клиентом :

org.apache.xmlrpc.XmlRpcException:
at org.apache.xmlrpc.client.XmlRpcStreamTransport.readResponse(XmlRpcStreamTransport.java:181)
at org.apache.xmlrpc.client.XmlRpcStreamTransport.sendRequest(XmlRpcStreamTransport.java:149)
at org.apache.xmlrpc.client.XmlRpcHttpTransport.sendRequest(XmlRpcHttpTransport.java:95)
at org.apache.xmlrpc.client.XmlRpcSunHttpTransport.sendRequest(XmlRpcSunHttpTransport.java:39)
at org.apache.xmlrpc.client.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:53)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:166)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:136)
at org.apache.xmlrpc.client.XmlRpcClient.execute(XmlRpcClient.java:125)
at clientXML.dd(clientXML.java:31)
at clientMain.main(clientMain.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:86)


если зайти на http://127.0.0.1:1111/

The page cannot be displayed
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774515
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
execute вообще-то возвращает массив
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774657
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
no13execute вообще-то возвращает массив

почему массив ? Object возвращает!
в примере с apache. org
Integer result = (Integer) client.execute("Calculator.add", params);
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774730
А что есть s.class ?
Код: plaintext
phm.addHandler("S", s. class );
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774792
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все смешалось в доме облонских - да, таки Object

Если вы используете WebServer из пакета XMLRPC Apache, то адрес обращения должен выглядеть так:
config.setServerURL(new URL("http://127.0.0.1:8080 /xmlrpc "));
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774974
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
интереса радиА что есть s.class ?
Код: plaintext
phm.addHandler("S", s. class );


класс в котором обьявлены методы которые ты хочешь вызвать, в версии 2.0 X?ML-RPC от Apache это писалось как:
Код: plaintext
server.addHandler("S",  new  s);
[/quot]

и это был метод класса XmlRpcServer
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34774981
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
no13все смешалось в доме облонских - да, таки Object

Если вы используете WebServer из пакета XMLRPC Apache, то адрес обращения должен выглядеть так:
config.setServerURL(new URL("http://127.0.0.1:8080 /xmlrpc "));

да использую WebServer из пакета XMLRPC 3.1 Apache


попробую
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34775004
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
no13все смешалось в доме облонских - да, таки Object

Если вы используете WebServer из пакета XMLRPC Apache, то адрес обращения должен выглядеть так:
config.setServerURL(new URL("http://127.0.0.1:8080 /xmlrpc "));

почему именно такой адрес ? <host>:8080 на порту 8080 может ведь висеть web сервер .

Только не говорите, что надо диплоить приложение
?
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34775057
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вроде задышала, но требует класс
java.lang.NoClassDefFoundError: javax/xml/namespace/NamespaceContext

в связи с чем у меня возник вопрос:

версии библиотеки XML-RPC зависят от версии jdk ?

где можно эту зависимость проследить (для какой jdk какую rpc качать)

ибо я сейчас на 1.4 и то что просит класс из 1.5 меня глубоко огорчает.
(1.5 поставить не могу по "религиозным соображения")
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34775061
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИгорьМ...

почему именно такой адрес ?
?

Ну так же выделена жирным знаковая часть. При чем тут порт, если вы задаёте его явно? Я просто скопировал строчку из документации. Главное - это виртуальная папка xmlrpc .

http://ws.apache.org/xmlrpc/server.html
The WebServer class
The WebServer is a minimal HTTP server, that might be used as an embedded web server. ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
...
 public   class  Server {
       private   static   final   int  port =  8080 ;

       public   static   void  main(String[] args)  throws  Exception {
          WebServer webServer =  new  WebServer(port);
        
          XmlRpcServer xmlRpcServer = webServer.getXmlRpcServer();
...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
...
 public   class  Client {
       public   static   void  main(String[] args)  throws  Exception {
          // create configuration
          XmlRpcClientConfigImpl config =  new  XmlRpcClientConfigImpl();
          config.setServerURL( new  URL("http://127.0.0.1:8080/xmlrpc"));
...
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34775073
ИгорьМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИгорьМ no13все смешалось в доме облонских - да, таки Object

Если вы используете WebServer из пакета XMLRPC Apache, то адрес обращения должен выглядеть так:
config.setServerURL(new URL("http://127.0.0.1:8080 /xmlrpc "));

почему именно такой адрес ? <host>:8080 на порту 8080 может ведь висеть web сервер .

Только не говорите, что надо диплоить приложение
?

осознал!!!
...
Рейтинг: 0 / 0
что я делаю не так XML -RPC????
    #34775093
no13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Идея в том, что то, что в обычном веб-сервере, например в Tomcat, управляется маппингом в конфиге, здесь жестко зашито в коде.

Кстати могу порекомендовать для отладки использовать реверс-прокси. Например http://xk72.com/charles/ (платный). Удобно смотреть кто что у кого спросил и какой ответ получил.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / что я делаю не так XML -RPC????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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