как использовать GWT RPC в env с отдельным сервером: статический контент-сервер и динамический контент-сервер - PullRequest
2 голосов
/ 13 февраля 2010

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

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

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

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

Thx

Ответы [ 2 ]

1 голос
/ 14 февраля 2010

С 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?

Michael

0 голосов
/ 23 июня 2010

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

...