myslite tu propertu serviceUrl? To mi prislo jako genialni napad (jednoduche,
ale me by to nenapadlo), bohuzel se mi ji ale v aplikacnim kodu nepodarilo
nastavit. Zkousel jsem to napr. tak, ze jsem se pokusil vytahnout celou beanu
serverServiceHttpInvokerProxy a nasledne ji nastavit serviceUrl.
ServletContext servletContext =
getContext().getRequest().getSession().getServletContext();
WebApplicationContext wac =
WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
UrlBasedRemoteAccessor httpInvokerProxyFactoryBean =
(UrlBasedRemoteAccessor) wac.getBean("serverServiceHttpInvokerProxy");
httpInvokerProxyFactoryBean.setServiceUrl("//localhost:8080/server/remoting/serverService");
ztroskotalo to vsak na tom, ze serverServiceHttpInvokerProxy je proxy:
java.lang.ClassCastException: $Proxy35 cannot be cast to
org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean
Taky sem zkousel nasetovat serverServiceHttpInvokerProxy do moji tridy kde mam
business logiku, ale skoncilo to podobnou vyjimkou, ze nemuze konvertovat
[$Proxy35] na dany typ a jeste to napsalo: no matching editors or conversion
strategy found. Muzete prosim jeste poradit jak by se dala ta properta v
aplikacnim kodu nastavit? Nebo jsem to cely spatne pochopil?
> ------------ Původní zpráva ------------
> Od: Roman Pichlik <[EMAIL PROTECTED]>
> Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
> Datum: 26.2.2008 20:35:58
> ----------------------------------------
> asi bych tuto danou propertu nenastavoval pres Spring, ale udelal bych
> to vzdy v aplikacnim kodu.
>
> 2008/2/26 radovan deka <[EMAIL PROTECTED]>:
> > Jde jenom o to vybrat vzdaleny endpoint v runtime, aplikacni rozhrani vsech
> endpointu bude zname a stejne. Predem diky za radu.
> >
> >
> > > ------------ Původní zpráva ------------
> > > Od: Roman Pichlik <[EMAIL PROTECTED]>
> > > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
> > > Datum: 26.2.2008 18:31:09
> > > ----------------------------------------
> >
> >
> > > > A jakou byste obecne doporucili technologii, aby se dal co nejsnadneji
> splnit
> > > pozadavek, ze vyber protejsi strany komunikace se deje az za behu
> > aplikace.
> > > > Bylo by to s RMI nebo Hessianem lepsi? A nebo Web service, o kterych
> zatim
> > > vubec nic nevim?
> > >
> > > a jde jenom o to vybrat vzdaleny endpoint v runtime a nebo bude
> > > kompletne nezname aplikacni rozhrani endpointu tj. nevite jestli tam
> > > bezi WebService, Hessian a RMI?
> > >
> > >
> > > >
> > > > > ------------ Původní zpráva ------------
> > > > > Od: Roman Pichlik <[EMAIL PROTECTED]>
> > > > > Předmět: Re: Spring HttpInvoker a dynamicke serviceUrl
> > > > > Datum: 24.2.2008 10:16:03
> > > > > ----------------------------------------
> > > >
> > > >
> > > > > No to bude trohu problem, protoze chcete, aby se staticka konfigurace
> > > > > chovala dynamicky.
> > > > >
> > > > > Jake jsou moznosti:
> > > > >
> > > > > - serviceUrl nastavovat programove, az potom co je ziskana instance
> > > > > serverServiceHttpInvokerProxy
> > > > > - serviceUrl dotahovat pres PropertyPlaceholderConfigurer viz
> > > > > dokumentace. V takovem pripade se musi zmenit lifecycle beany a to
> > na
> > > > > lazy inicializaci a nebo scope prototype, v dusledku toho ze hodnota
> > > > > nemusi byt znama pri inicializaci kontextu
> > > > > - udelat ze serviceUrl beanu s vlastni factory viz dokumentace,
> > ktera
> > > > > bude v zavislosti na kontextu inicializovat jeji hodnotu. Problem se
> > > > > zmenou lifecycle serverServiceHttpInvokerProxy pretrva
> > > > >
> > > > >
> > > > > 2008/2/23 radovan deka <[EMAIL PROTECTED]>:
> > > > > > Ahoj, muj predesly prispevek neni tak dulezitej, zjistil sem, ze
> neni
> > > zadnej
> > > > > problem to zinicializovat rucne. Velky starosti mi vsak dela, jak
> udelat,
> > > abych
> > > > > URL adresu druhe aplikace mohl zadavat az za behu prvni aplikace.
> > Ted
> tu
> > > adresu
> > > > > zadavam primo v kontextu v definici beanu:
> > > > > >
> > > > > > <bean id="serverServiceHttpInvokerProxy"
> > > > >
> > >
> class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
> > > > > > <property name="serviceUrl"
> > > > > value="http://localhost:8080/server/remoting/serverService"/>
> > > > > > <property name="serviceInterface"
> > > > > value="cz.vutbr.xkarel03.remote.ServerService"/>
> > > > > > <property name="httpInvokerRequestExecutor">
> > > > > > <bean
> > > > >
> > >
> class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"/>
> > > > > > </property>
> > > > > > </bean>
> > > > > >
> > > > > > ja bych ale potreboval, abych mohl adresu
> > > > > "http://localhost:8080/server/remoting/serverService" zadat az ve
> webovem
> > > > > formulari, pac ta aplikace by mela umet komuikovat s vice jinymi
> > > aplikacemi.
> > > > > Predem diky za pripadne info.
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > S pozdravem Roman "Dagi" Pichlik
> > > > >
> > > > > /* http://www.sweb.cz/pichlik/ Blog pro kodery */
> > > > >
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > S pozdravem Roman "Dagi" Pichlik
> > >
> > > /* http://www.sweb.cz/pichlik/ Blog pro kodery */
> > >
> > >
> > >
> >
>
>
>
> --
> S pozdravem Roman "Dagi" Pichlik
>
> /* http://www.sweb.cz/pichlik/ Blog pro kodery */
>
>
>