2010-02-13 1 views
2

Попробуйте использовать GWT RPC в нашем приложении. Наше приложение обслуживает статические контент и динамический контент с различным базовым url. например, url to foo.jsp может иметь http // localhost/context/foo.jsp, обслуживаемый websphere, для img/js внутри этого jsp, у нас будет URL-адрес, например http // localhost/uistatic/foo.js служил ИРИО и GWT генерируется код будет включен в качестве HTTP // локальный/uistatic/......Как использовать GWT RPC в env с выделенным сервером: сервер статического контента и сервер динамического контента

Теперь при использовании GWT RPC, в modulebaseurl GWT по умолчанию будет на самом деле пункт HTTP // локальный/uistatic /, которая не является правильным, для вызывающей службы RPC, мы можем переопределить ServiceEntryPoint, выполнив следующие (с использованием HostPageBaseURL):

serviceDef.setServiceEntryPoint (GWT. getHostPageBaseURL() + GWT.getModuleName() + ......);

Однако использовать сериализации DTO для RPC вызова, GWT нагрузки сериализации файла политики с помощью modulebaseurl который снова является неправильным (HTTP // локальный/uistatic /), кто знает, как изменить его, или любой другой предложение приветствуются.

Thx

ответ

1

От http://code.google.com/webtoolkit/doc/1.6/FAQ_Server.html#Does_the_GWT_RPC_system_support_the_use_of_java.io.Serializable

RPC теперь генерирует файл политики сериализации во время компиляции GWT. Файл политики сериализации содержит белый список разрешенных типов, который может быть сериализован. Его имя - сильное имя хэша, за которым следует .gwt.rpc. Чтобы включить поддержку java.io.Serializable, типы, которые ваше приложение будет отправлять по проводу, должны быть включены в белый список политики сериализации. Кроме того, файл политики сериализации должен быть развернут на ваш веб-сервер в качестве общего ресурса, доступного из RemoteServiceServlet через ServletContext.getResource(). Если он не развернут должным образом, RPC будет работать в режиме совместимости 1.3.3 и отказаться от сериализации типов, реализующих java.io.Serializable.

Возможно, вы можете переопределить/перехватить вызов getResource.

Также Проверьте это ... http://code.google.com/webtoolkit/doc/1.6/FAQ_Server.html#What_is_the_Same_Origin_Policy,_and_how_does_it_affect_GWT?

Майкл

0

Вы можете переопределить doGetSerializationPolicy в ваших RemoteServiceServlets, чтобы контролировать, как загружается файл политики.

Смежные вопросы