我们目前遇到了JAX-WS实现的问题,特别是在获取服务返回的值时,虽然我们给它一个值,但在我们的例子中它总是为null.
在更多解释我们的问题之前的一些代码:
这是我们操作的签名:
@WebMethod(action = "urn:genererEdition")
public void genererEdition(
@WebParam(name = "requeteEdition", targetNamespace = "http://creditcgi.com/serviceeditique", partName = "requete")
RequeteEdition requete,
@WebParam(name = "reponseEdition", targetNamespace = "http://creditcgi.com/serviceeditique", mode = WebParam.Mode.OUT, partName = "reponse")
Holder<ReponseEdition> reponse,
@WebParam(name = "documentProduit", targetNamespace = "", mode = WebParam.Mode.OUT, partName = "documentProduit")
Holder<byte[]> documentProduit);
Run Code Online (Sandbox Code Playgroud)
这是我们的Web服务测试用例:
@Test
public void testCallGenererEdition() {
RequeteEdition requete = new RequeteEdition();
Holder<ReponseEdition> reponseHolder = new Holder<ReponseEdition>(new ReponseEdition());
Holder<byte[]> documentHolder = new Holder<byte[]>(new byte[512]);
editique.genererEdition(requete, reponseHolder, documentHolder);
Assert.assertNotNull(reponseHolder.value);
Assert.assertNotNull(reponseHolder.value.getCodeRetour());
}
Run Code Online (Sandbox Code Playgroud)
最后,我们的WS实现:
@Override
public …Run Code Online (Sandbox Code Playgroud)