Ahoj.
V tuto chvíli řeším podobný problém. 
Když píšu WS server, snažím se začínat wsdl souborem (to je myslím to, co 
definuje rozhraní webové služby), nikoliv progr. rozhraním (mohl jsem si 
ušetřit dost nepříjemností, kdybych se nejdřív kouknul, jestli webservices 
neřeší spring 
 http://static.springsource.org/spring-ws/sites/2.0/reference/html/why-
contract-first.html
).

Takže přímému použití javax.jws.WebService s @WebService jsem se chtěl 
vyhnout (i když vývoj je velmi rychlý).

Zkoušel jsem Axis1, Axis2 , CXF2  - tyhle frameworky mi po čase přišly jako 
docela velké molochy (mimo jiné, CXF2 např. způsobovalo trochu problém v 
Eclipse při editaci čehokoliv během spuštěné aplikace - asi to jde nějak 
nastavit, ale u springws je to bez problémů ) a teď jsem přešel 
na http://static.springsource.org/spring-ws/site/   a sice z těchto důvodů
-vychází se z wsdl (contract-first)
-spring už v aplikacích mám
-jedna (případně dvě) knihovna 
-rychlé, jednoduché, spolehlivé, bez problému a snadno se integruje do web. 
aplikace (ať už spring používá nebo ne)
-pokud se něco mění, jde to celkem rychle bez nutnosti přegenerovávat prog. 
interface



Takže doporučuji springws.

M.P.


---------- Původní zpráva ----------
Od: Zoltan Palenik <zoltan.pale...@f4s.sk>
Datum: 7. 8. 2013
Předmět: Weblogic web-project + webservice

"

Zdravim konferenciu,




mame existujucu web aplikaciu (spring-mvc, hibernate) a pre zakaznika 
potrebujeme vytvorit web service.

Mojou prvou otazkou je ci je to dobry pristup "rozsirit" existujucu web 
aplikaciu o web service 

 alebo je to lepsie mat ako samostatny projekt ?




Ked som to vyskusal ako samostatny projekt, tak bez problemov z browsera aj 
z client 

 programu viem zavolat servisy. 

 Ked som to skusil dat uz do existujuceho projektu a ked sa snazim

ziskat WSDL web servicu z browsera pomocou linky http://localhost:7001/ezu/
hello?wsdl(http://localhost:7001/ezu/hello?wsdl)
 
tak to bez problemov ide ale z client programu dostanem exception :




Exception in thread "main" javax.xml.ws.WebServiceException: java.net.
ProtocolException: Server redirected too many  times (20)

at com.sun.xml.ws.transport.http.client.HttpClientTransport.
readResponseCodeAndMessage(HttpClientTransport.java:221)

at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process
(HttpTransportPipe.java:204)

at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest
(HttpTransportPipe.java:124)

at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest
(DeferredTransportPipe.java:118)







Moja trieda web servisu :




@WebService

@SOAPBinding(style = Style.RPC)

public class HelloWorld {

 

 @Resource 

 private WebServiceContext wsContext; 

 

/**

 * Initializes the web service.

 */

  @PostConstruct

  @WebMethod(exclude = true)

 public void init()

 {

  System.out.println("Web service initialized, service context: " + 
wsContext);

 }

  

  

 @WebMethod(operationName="getHelloWorld")

public String getHelloWorld(@WebParam(name = "name") String name) {

return "Hello World JAX-WS " + name;

}

}










Pri inicializacii web servisu (init metoda) v logoch vidim pre 
WebServiceContext null.







Zmeny co som vykonal vo web.xml su - pridal som :




 <listener>

    <listener-class>com.sun.xml.ws.transport.http.servlet.
WSServletContextListener</listener-class>

 </listener>

  

  <servlet>

 <servlet-name>hello</servlet-name>

<servlet-class>

com.sun.xml.ws.transport.http.servlet.WSServlet

    </servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>hello</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>







do projektu som pridal subor sun-jaxws.xml




<?xml version="1.0" encoding="UTF-8"?>

<endpoints

  xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime
(http://java.sun.com/xml/ns/jax-ws/ri/runtime)"

  version="2.0">

  <endpoint

      name="HelloWorldWs"

      implementation="x.y.HelloWorld"

      url-pattern="/hello"/>

</endpoints>







Este by som dodal ze to bezi na weblogicu.

Dakujem,

z.

"

Odpovedet emailem