J2EE halal :)

hatha tudja valaki a megoldast.

van egy stateless beanem kiajanlva webservicekent, ebben van egy method. szeretnem tudni annak az ipjet aki soapon keresztul
hasznalja.

sajna a WebServiceContext-en beluli SERVLET_REQUEST -bol nyert requestnel a getRemoteAddr() a sajat ipmet adja vissza.

nekem a kliense kene, hogy loggolhassam a kereseket..

otlet?

Hozzászólások

A servlet containertol kellene elkerni az eredeti requestet, abbol ki lehetne nyerni a cimet, vagy legalabb a socketet.

no, kozben megoldottam, de azert pontositsunk:

nincs itt semmifele servlet, ez nem jsp, hanem egy stateless EJB, @WebService annotacioval.

amit fent leirtam, mukodik, nalam csupan azert nem ment, mert en hulye nem kliensoldalrol teszteltem,
hanem az app szerver (jelen esetben glassfish) "test webservice" featurejevel :-)

szoval en voltam a bena, amit leirtam, az mukodik.

öö, mire válaszoltál elindítottam a netbeans-t mert régen nekem is volt ilyen problémám

de ott null volt és nem local ip :)

feltételezem, hogy ez valami Sun-szerű implementáció tehát JAX-WS ?
szerk. persze, ott van hogy glassfish. az enyém BEA volt ami ugye alapból axis, ott ezt másként kell, jax-wst is tud de ott nem lehetett kiszedni sehogy belőle.

o, azert koszonom :)

igen, JAX-WS, elegge sokan szidjak. bar ma en is belefutottam par izgi dologba..

de akkor mar kerdezek, mert ugy tunik vannak itt azert hozzaertok (no, nem mintha nem tudtam volna ezt
eddig, de egy kezemen megtudom szamolni azokat a nickeket, akik erdemben hozzatudnak
szolni barmihez, ez a flickr -es postnal kiderult vegkepp)

szoval nezegettem itt a SOAP uziket, es egyreszt nincs benne tipusossag, masreszt
pl egy methodnak a parametereinek a neve nincs feltuntetve.

kerdesek:
- wsimport hogy a picsaba general belole hasznalhato class fileokat? marmint, tipusosakat.
- phps kollega akarta hivogatni, es barhogy nevezte a valtozoit (valami tombbel kell ott bohockodni
phpbe, nem szeretem, nem ertek hozza), nem ment, csak ha "arg0" -nak hivta. amikor meg megakart
hivni egy olyan methodot aminek nem volt parametere, akkor neki valami vegtelen ciklusba kerult
a cucca :) (bar ez lehet az o figyelmetlensege is)
- JAXB nem erre van, hogy az xmlt azzal generalja?

Nem értem.

- Magát a SOAP üziket nézegettél vagy WSDL -t ? WSDL-ben van típus is meg név is.
- php-ban milyen implementáció ? Utoljára egy nuSOAP nevű fantasztikus toollal próbáltunk ilyesmit, az WSDL-t egyáltalán nem tudott akkor. Most már elvileg van valamiféle "saját" implementációja a php-nak, az meg nem tudott 64 bites változókat átvinni, pontosabban átvitte csak rossz volt az érték, ez milyen már :) PHP-zzon akinek 6 anyja van
- igena jax-ws mostanában elvileg jax-b-t használ

WSDL -t nezegettem, de ilyen van benne csak:



  <operation name="UpdateClient">
  <wsp:PolicyReference URI="#WSNamePortBinding_UpdateClient_WSAT_Policy" /> 
  <soap:operation soapAction="" /> 
  <input>
  <soap:body use="literal" /> 
  </input>
  <output>
  <soap:body use="literal" /> 
  </output>
  </operation>

ami erdekes, hogy _minden_ methodnal ez van, pedig van ami int, van ami string parametert var, es van ami
inttel ter vissza, van ami egy Listel...

amugy pearl -es (vagy ilyesmi a neve...) implementaciot hasznal

dehogynincs servlet, épp a HttpServletRequest-et nyered ki. egyrészről gáz hogy ez implementációfüggő (lásd eggyel feljebb), másrészről egy EJB-ben tényleg nem biztos hogy servletrequest-ezni kéne, attól hogy webservice-ként expozálod, a hívás jöhetne máshonnan is, nem csak webről.

ez igaz, ebbe bele se gondoltam. most mondtam a kolleganak, hogy ismerkedjen meg a JSF -el php helyett, mert egyreszt
palyakezdo (junior developer) es tanul valami ujat (engem meg nagyon nem erdekel az UI, sosem erdekelt..), masreszt
onnan konnyebben tudna hasznalni (hiszen DI berakna neki sztem a classt)

amihez az IP cim keres menne, az tuti, hogy kivulrol (es csak kivulrol) hivodna, igy nem felek attol, hogy belulrol hivjak,
es nemlesz servlet hozza.

viszont en ugy tudtam, hogy az EJB es a servletek mas vilag, de ezekszerint tevedtem.

EJB és a servlet más világ, de ha webservice-ként ajánlod ki, akkor kell valami közé. axis, jax-ws meg hasonlók ilyen konténert csinálnak, ők maguk egy servlet amik ejb-ként "tovább hívják" az EJB-det. ki lehet nyerni a servletcontext-et, kérdés jó ötlet-e ? ha autentikációra kell, azt amúgy sem ott illene csinálni. ha csak logolni kell -> servletfilter, imo, vagy nem tudom, ezen még nem gondolkodtam

jsf-et én nagyon nem csípem, de biztos jó, csak broáf

nekem tetszett jsf, de nem melyultem el benne, majd kiderul kollega mit gondol.
tolem megcsinalhatja phpban is, csak mukodjon.

nem authentikaciora kell, hanem hogy nyomon kovessem h a kliensek milyen iprol vannak. elore imagelt gepek, X idonektn "bejelentkeznek" [meghivjak az egyik update methodot ami webservicekent ki van ajanlva], es elkene a dbbe raknom az ipjuket, erre kell.

de ha mar authentikacio: JAAX mit tud? hasznaltad mar? SSOnak van ertelme, es akkor elso WS hivasnal eleg autholnia?

te én nem kóder vagyok egyébként. SSO az úgy szokott lenni hogy az alkalmazás használja mondjuk a standard container security-t és az appserverekre rá van téve pl. egy sun access manager. ami meg mondjuk authol active directory-ból vagy akárhonnan. a kliens bejelentkezhet mondjuk közveltenül az sso szolgáltatónál, vagy lehet használni a cucc sdk-ját.

http://docs.sun.com/source/817-7649/index.html

Én ebből az egészből a kattintgatásig jutottam. És én úgy vettem észre, hogy EE esetén rohadtul nem kell használni az sdk-t belőle, vagy nem annyira, azt csak akkor, ha pl vmi standalone (akár command line) alkalmazást csinálsz amit szeretnél az sso-hoz hozzácsapni. De hál'istennek ezzel nem foglalkozom, van app szerver farm, van rajta ilyen, megy és kész.