使用apache cxf动态创建Web服务客户端(修复无操作发现未经检查的异常),使用身份验证调用操作

时间:2013-05-16 08:42:29

标签: java web-services cxf

所以我想找到一种通过身份验证动态调用Web服务操作的方法。

这是我发现的。

1 个答案:

答案 0 :(得分:2)

以下是如何使用apache cxf创建动态Web服务客户端的示例,避免“未找到名称操作”未经检查的异常并使用身份验证。

    DynamicClientFactory dcf = DynamicClientFactory.newInstance();
    Client client = dcf.createClient("WSDL Location");

    AuthorizationPolicy authorization = ((HTTPConduit) client.getConduit()).getAuthorization();

    authorization.setUserName(
            "user name"
    );

    authorization.setPassword(
            "password"
    );

    Object[] res = client.invoke(new QName("http://targetNameSpace/", "operationName"), params...);
    System.out.println("Echo response: " + res[0]);

名称空间的新QName修复了异常。

享受。