使用JAX-WS的动态客户端

时间:2013-10-23 11:01:10

标签: web-services jax-ws cxf

使用CXF 2.7.7,我可以generate dynamic clients来呼叫网络服务:

JaxWsDynamicClientFactory dynamicClientFactory = JaxWsDynamicClientFactory.newInstance();
Client client = dynamicClientFactory.createClient(wsdlURL);
http.getAuthorization().setUserName("username");
http.getAuthorization().setPassword("password");
Object arg = Thread.currentThread().getContextClassLoader().loadClass("com.foo.Arg").newInstance();
Object[] response = client.invoke("someMethodName", arg);

特别是,我可以反思地实例化和填充生成的类。

使用JAX-WS API可以实现类似的效果吗?

或者,我是否可以获取使用JaxWsDynamicClientFactory生成的客户端的javax.xml.ws.BindingProvider?

1 个答案:

答案 0 :(得分:0)

你需要什么BindingProvider?如果只是RequestContext,Client对象已经有了获取它的方法。 (尽管您设置的任何键/值都需要使用CXF键,而不是JAX-WS键)如果您需要配置管道特定的属性,也可以使用getConduit调用。