Перейти к содержанию
Авторизация  
Warak

Знатоки Java помогите))

Рекомендуемые сообщения

Пытаюсь спарсить данные с с одной игры браузерной. данные в AMF3.

Пинг команда уходит норм но вот с ответом беда. 

package booot;

import java.awt.Label;
import java.util.HashMap;

import flex.messaging.io.ArrayCollection;
import flex.messaging.io.ArrayList;
import flex.messaging.io.amf.AmfTrace;
import flex.messaging.io.amf.client.AMFConnection;
import flex.messaging.io.amf.client.exceptions.ClientStatusException;
import flex.messaging.io.amf.client.exceptions.ServerStatusException;
import flex.messaging.messages.AcknowledgeMessage;
import flex.messaging.messages.CommandMessage;
import flex.messaging.messages.Message;
import flex.messaging.messages.RemotingMessage;
import flex.messaging.util.UUIDUtils;

public class main {

	
	public static void main(String[] args) {
	
		String url = "http://s1.mlgame.ru/messagebroker/myamflongpoll;gamesessionid=1foxx91po205y1cda91uh9adwd?clientTag=c4482f8a2c537b909ea1a3b63b48fdbe";
		 AMFConnection amfConnection = new AMFConnection();
		try {
	            amfConnection.connect(url);
	           
	        } catch (ClientStatusException cse) {
	            System.out.println("Error connecting url: " + cse);
	            return;
	        }

	        try {

	            amfConnection.addHttpRequestHeader("Cookie",
	                    "6250CED9FBC7D5894B79973DEC1503A6");
	            amfConnection.addHttpRequestHeader("Content-type",
	                    "application/x-amf");
	            amfConnection.setAmfTrace(new AmfTrace());
	            amfConnection.setObjectEncoding(3);
	           // System.out.println(amfConnection);

	            CommandMessage cmsg = new CommandMessage();
	            cmsg.setOperation(CommandMessage.CLIENT_PING_OPERATION);
	            cmsg.setMessageId(UUIDUtils.createUUID());
	            cmsg.setHeader(Message.FLEX_CLIENT_ID_HEADER, "");
	            cmsg.setHeader(Message.ENDPOINT_HEADER, "nil");
	            AcknowledgeMessage ack = (AcknowledgeMessage)amfConnection.call(null, cmsg);
	            
	        } catch (ServerStatusException sse)
	    		{
	    		    System.out.println(sse);
	    		} catch (ClientStatusException e) {
				
				e.printStackTrace();
	    			System.out.println(e.getLocalizedMessage());
			}
	        
	}

}

выдаёт

 

 

flex.messaging.io.SerializationException: Class 'flex.messaging.io.amf.ASObject' must implement java.io.Externalizable to receive client IExternalizable instances

стэктрейс

 

ClientStatusException 

message: flex.messaging.io.SerializationException: Class 'flex.messaging.io.amf.ASObject' must implement java.io.Externalizable to receive client IExternalizable instances.
code: AMFConnection.Call.Failed
at flex.messaging.io.amf.client.AMFConnection.call(AMFConnection.java:526)
at booot.main.main(main.java:48)
Caused by: flex.messaging.io.SerializationException: Class 'flex.messaging.io.amf.ASObject' must implement java.io.Externalizable to receive client IExternalizable instances.
at flex.messaging.io.amf.Amf3Input.readExternalizable(Amf3Input.java:498)
at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:420)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:152)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:130)
at flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:754)
at flex.messaging.io.amf.Amf3Input.readScriptObject(Amf3Input.java:439)
at flex.messaging.io.amf.Amf3Input.readObjectValue(Amf3Input.java:152)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:130)
at flex.messaging.io.amf.Amf0Input.readObjectValue(Amf0Input.java:123)
at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:94)
at flex.messaging.io.amf.AmfMessageDeserializer.readObject(AmfMessageDeserializer.java:227)
at flex.messaging.io.amf.AmfMessageDeserializer.readBody(AmfMessageDeserializer.java:206)
at flex.messaging.io.amf.AmfMessageDeserializer.readMessage(AmfMessageDeserializer.java:126)
at flex.messaging.io.amf.client.AMFConnection.processHttpResponseBody(AMFConnection.java:697)
at flex.messaging.io.amf.client.AMFConnection.processHttpResponse(AMFConnection.java:675)
at flex.messaging.io.amf.client.AMFConnection.send(AMFConnection.java:794)
at flex.messaging.io.amf.client.AMFConnection.call(AMFConnection.java:516)
... 1 more
 

Ответ сервера на скрине.

 

Я прекрасно понимаю что ява не может десерилизовать ответ. Но почему хз.

П.С. Яву я не знаю и пишу эту хрень по приборам т.к. схожа с C#. Так что прошу разжевать как для идиота)

post-27065-0-96429400-1465888896_thumb.png

Изменено пользователем Warak

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...