Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Axis web service – клиент

Ответить
Настройки темы
Java - Axis web service – клиент

Пользователь


Сообщения: 107
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте, есть веб сервис axis:
Код: Выделить весь код
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
...
  <service name="ServerPt" provider="java:RPC" style="wrapped" use="literal">
...
      <operation name="getStop" qname="operNS:getStop" xmlns:operNS="urn:StopServer" returnQName="return" returnType="rtns:Stop" xmlns:rtns="urn:StopServer" >
        <parameter qname="id" type="tns:long" xmlns:tns="http://www.w3.org/2001/XMLSchema"/>
      </operation>
...
      <parameter name="allowedMethods" value="... getStop ..."/>
...
      <typeMapping
        xmlns:ns="urn:StopServer"
        qname="ns:Stop"
        type="java:ru.fist.st.stops.soap.server.Stop"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      />
 ...
  </service>
 ...
</deployment>

Как мне вызвать этот метод из клиента Java?
Пробую так:
Код: Выделить весь код
public static void main(String[] args) 
{
	try
	{
		String endpoint = "http://192.168.0.1:28080/ws/services/ServerPt";
		Service s = new Service();
		Call c = (Call) s.createCall();
		c.setTargetEndpointAddress(endpoint);
		
		c.addParameter("id",org.apache.axis.Constants.XSD_LONG,javax.xml.rpc.ParameterMode.IN);
		c.setReturnType(new QName("urn:StopServer", "rtns:Stop"), Stop.class);
		c.registerTypeMapping(Stop.class, new QName("urn:StopServer", "rtns:Stop"), new BeanSerializerFactory(Stop.class, new QName("urn:StopServer", "rtns:Stop")), new BeanDeserializerFactory(Stop.class, new QName("urn:StopServer", "rtns:Stop")));
		c.setOperation("getStop");
		
		Stop st = (Stop)c.invoke( new Object[] { new Long(295) } );
		
		System.out.println(st.getCode().toString());
	} catch(Exception e)
	{
		e.printStackTrace();
	}

}
Выдаёт ошибку:

Код: Выделить весь код
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
Сервер получает запрос и в лог файле я вижу:

Код: Выделить весь код
= Elapsed: 117 milliseconds
= In message: <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><getStop xmlns=""><arg0 xsi:type="xsd:long">295</arg0></getStop></soapenv:Body></soapenv:Envelope>
= Out message: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><getStopResponse xmlns=""><return><id>295</id><name>Lupe</name><country>GB</country><district> </district><code>250</code><codeInf>094811</codeInf><railCode>25</railCode></return></getStopResponse></soapenv:Body></soapenv:Envelope>
=======================================================
Подскажите, пожалуйста.

Отправлено: 17:38, 13-08-2013

 

Пользователь


Сообщения: 107
Благодарности: 0

Профиль | Отправить PM | Цитировать


nnnn

Отправлено: 11:10, 07-11-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Axis web service – клиент

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - [решено] AXIS Camera Station порт для удаленного доступа mskam Сетевые технологии 1 30-07-2013 15:35
Java - Коммуникация Клиент-Клиент, Клиент-Сервер pivster Программирование и базы данных 6 17-06-2011 15:51
System/Project - NAS Maxtor Central Axis альтернативная прошивка ftp+ssh+telnet ospc Сетевое оборудование 0 02-10-2010 03:17
Web сервер и клиент - установка соединения Artur88 Хочу все знать 3 07-01-2009 14:53
Службы - Что за служба Windows Service Pack Installer update service? рэмбо Лечение систем от вредоносных программ 5 23-11-2008 17:38




 
Переход