gpt4 book ai didi

java - 使用 Java 中的 JAX WS 验证响应调用

转载 作者:行者123 更新时间:2023-11-30 05:58:24 25 4
gpt4 key购买 nike

我有一个关于 jax wsJava 的问题。事实上,我有一个调用 web 服务 方法的客户端:

客户端实现:

      URL url = new URL("file:/D:/Projects/Mywsdl.wsdl");
QName qname = new QName("http://adresse/", "ImpWSService");
Service service = Service.create(url, qname);
//web service Interface
DomaineIntWS domaineIntWS = service.getPort(DomaineIntWS.class);
//web service methode call
String echo = scciProxyIntWS.echocall("xxx");

WS 接口(interface):

         import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public abstract interface DomaineIntWS
{
public abstract String echocall(@WebParam(name="testEcho") String paramString);
}

我的问题是如何在客户端实现中添加一种可以测试 ws 结果调用的方法,例如测试代码响应是否等于 200 OK ?

如何使用 jax ws 做到这一点?

谢谢大家。

最佳答案

您需要将端口转换为 BindingProvider,如下所示:

    URL url = new URL("file:/D:/Projects/Mywsdl.wsdl");
QName qname = new QName("http://adresse/", "ImpWSService");
Service service = Service.create(url, qname);
//web service Interface
DomaineIntWS domaineIntWS = service.getPort(DomaineIntWS.class);
try {
String echo = domaineIntWS.echocall("xxx");
} catch (Exception e) {
//do something with a possible exception
} finally {

BindingProvider bpDomaineIntWS = (BindingProvider) domaineIntWS;
int httpResponseCode =(Integer) bpDomaineIntWS.getResponseContext().get(MessageContext.HTTP_RESPONSE_CODE);

}

旁注:请考虑到,即使您获得了响应代码的值,JAX-WS 实现也会处理该响应。

在大多数情况下,您不必担心自己处理代码之类的事情。这就是 JAX-WS 的全部目的。否则您将使用原始的 HttpClient 库。

关于java - 使用 Java 中的 JAX WS 验证响应调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52742039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com