Zdravím, podobnou chybu jsem dostal při mém experimentování s web službami, když dané url požadovalo přihlášení uživatele a klient to neprovedl. Máte v aplikaci zabezpečený přístup s přihlášením a v samostatném projektu ne? Jaroslav Hurdes

Dne 7.8.2013 16:21, Zoltan Palenik napsal(a):
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 linkyhttp://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";
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