2013-10-23 42 views
0

隨着CXF 2.7.7動態客戶端,我可以generate dynamic clients調用Web服務:與JAX-WS

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嗎?

回答

0

你需要什麼BindingProvider?如果僅用於RequestContext,則Client對象已具有獲取該對象的方法。 (儘管你設置的任何鍵/值都需要使用CXF鍵,而不是JAX-WS鍵)。如果需要配置管道特定屬性,getConduit調用也是如此。

+0

是的,那可能是要走的路。我還使用SOAPHandler來捕獲進出的實際SOAP消息,但是我收集到的我可以在CXF中使用攔截器來獲得相同的效果?我只是希望如果通過JAX-WS API有一個簡單的方法來完成它,我可以改變更少的現有代碼。 –