Can anyone tell me why the first form works but the second doesn't?
I am trying to start using the factory stuff but it is failing.
What am I doing wrong?
Works:
TxService txService = new TxService();
TxPortType txPort = txService.getTxPort();
Map<String, Object> context = ((BindingProvider)
txPort).getRequestContext();
context.put(BindingProvider.USERNAME_PROPERTY, "me");
context.put(BindingProvider.PASSWORD_PROPERTY, "hello");
context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
"http://localhost/ws/services/Tx");
txPort.getObjects(searchTerms, 0, 0);
Fails:
ClientProxyFactoryBean factory = new ClientProxyFactoryBean();
factory.setServiceClass(TxPortType.class);
factory.setUsername("me");
factory.setPassword("hello");
factory.setAddress("http://localhost/ws/services/Tx");
TxPortType client = (TxPortType)factory.create();
client.getObjects(searchTerms, 0, 0);
Error:
org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:64)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorC
hain.java:208)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:276)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:222)
at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68)
at $Proxy36.getObjects(Unknown Source)
at client.WSClient1.download(WSClient1.java:41)
at client.WSClient1.main(WSClient1.java:29)
Caused by: java.net.HttpRetryException: cannot retry due to server
authentication, in streaming mode
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnec
tion.java:1012)
at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResp
onse(HTTPConduit.java:1863)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTP
Conduit.java:1791)
at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingI
nterceptor.handleMessage(MessageSenderInterceptor.java:62)
... 8 more
Thanks,
Dan