Npr.
Code:
@Stateless
@WebService
public class WS {
@WebMethod
public Document Test(@WebParam(name="parametar") String parametar) {
// Odradi sta treba i formiraj XML odgovor
return XMLodgovor;
}
}
@Stateless
@WebService
public class WS {
@WebMethod
public Document Test(@WebParam(name="parametar") String parametar) {
// Odradi sta treba i formiraj XML odgovor
return XMLodgovor;
}
}
Ne pitajte me zasto ne vratim n OUT parametara tipa string, ili zasto ne posaljem string odvojen zarezima pa posle splitujem itd, u pitanju je custom web servis koga ce pozivati jedan klijent na kome ne mogu nista da menjam(blackbox).
Taj blackbox ocekuje string koji ima xml strukturu u okviru soap response-a.
To bi na primeru jedne SOAP poruke izgledalo ovako(.net, return type XmlDocument):
Code:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<serviceResponse xmlns="http://tempuri.org/">
<serviceResult>
<Result xmlns="">
<ActionResult>0</ActionResult>
</Result>
</serviceResult>
</serviceResponse>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<serviceResponse xmlns="http://tempuri.org/">
<serviceResult>
<Result xmlns="">
<ActionResult>0</ActionResult>
</Result>
</serviceResult>
</serviceResponse>
</soap:Body>
</soap:Envelope>
Kada isto ovo pokusam sa JAX-WS, ali da xml strukturu vratim kroz tip string dobijem ovo:
Code:
...
<serviceResponse xmlns="http://tempuri.org/">
<serviceResult>
<Result>
<ActionResult>0</ActionResult>
</Result>
</serviceResult>
</serviceResponse>
...
...
<serviceResponse xmlns="http://tempuri.org/">
<serviceResult>
<Result>
<ActionResult>0</ActionResult>
</Result>
</serviceResult>
</serviceResponse>
...
Kada probam da za return tip stavim Document, dobijem gomilu JAXB gresaka i ne mogu uopste da odradim deploy.
Pomagajte :-)
[Ovu poruku je menjao cume dana 08.05.2008. u 23:54 GMT+1]