У меня есть класс mov ie с тремя полями movieId, movieName, yearMovieRelease. Я хочу реализовать WebMethod в WebService, который может принимать объект mov ie и добавлять его в список mov ie.
Я видел много руководств по маршаллингу и демаршаллингу через xml файл, но я все еще не понимаю, как демаршалировать этот объект mov ie как параметр, не могли бы вы помочь?
более подробная информация о классах доступна здесь .
@Stateless
@LocalBean
@WebService(serviceName = "MovieServiceJAXWS")
public class MovieServiceJAXWS {
@EJB MovieData movieData;
@WebMethod
public String addMovie(Movie movie){
return movieData.addMovie(movie);
}
}
дает soap запрос XML как показано ниже
Soap запрос
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://soapj8test.tanmshar.com/">
<soapenv:Header/>
<soapenv:Body>
<soap:addMovie>
<!--Optional:-->
<arg0>
<movieId>6</movieId>
<!--Optional:-->
<movieName>Movie6</movieName>
<yearMovierelease>2020</yearMovierelease>
</arg0>
</soap:addMovie>
</soapenv:Body>
</soapenv:Envelope>
но вывод запроса приводит к немаршалированной ошибке
Soap вывод запроса
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Unmarshalling Error: null</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>