It doesn't seem to work... Any idea?
SessionCreateRQService service = new SessionCreateRQService();
SessionCreatePortType port = service.getSessionCreatePortType();
Client c = ClientProxy.getClient(port);
HTTPConduit conduit = (HTTPConduit) c.getConduit();
conduit.setTlsClientParameters(null);
String endpointAddress = "http://webservices.mydomain.com/websrc";
Map<String, Object> requestContext =
((BindingProvider)port).getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
endpointAddress);
It returns
javax.xml.ws.soap.SOAPFaultException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
at $Proxy47.sessionCreateRQ(Unknown Source)
at test.SessionCreateTest.getSession(SessionCreateTest.java:87)
at test.SessionCreateTest.main(SessionCreateTest.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:90)
Caused by: org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:466)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:299)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:251)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
... 8 more
Caused by: java.io.IOException: Illegal Protocol http for HTTPS
URLConnection Factory.
at
org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnection(HttpsURLConnectionFactory.java:124)
at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:482)
at
org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
... 14 more
>You'll probably need to do:
>Client cl = ClientProxy.getClient(port);
(HttpConduit)cl.getConduit()).setTlsClientParameters(null);
>to make sure the TLS stuff is all reset to nothing and force
re-initializing the conduit as a non-tls conduit.
>Dan
On Tuesday 16 December 2008 10:38:52 am Christopher Cheng wrote:
> I was trying to change the endpoint address from a https address to
> http address
>
> endpointAddress =
> *http://webservices.mydomain.com/websrc*<http://webservices.mydomain.com/websrc>
;
> SessionCreateRQService service = new SessionCreateRQService();
> SessionCreatePortType port = service.getSessionCreatePortType();
> Map<String, Object> requestContext =
> ((BindingProvider)port).getRequestContext();
> requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
> endpointAddress);
>
>
> CXF produces an error like this. What am I missing?
>
> Caused by: java.io.IOException: Illegal Protocol http for HTTPS
>URLConnection Factory.
> at
>
>org.apache.cxf.transport.https.HttpsURLConnectionFactory.createConnecti
>on(H
>ttpsURLConnectionFactory.java:124) at
>
>org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:482)
>at
>org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(Messa
>geSe
>nderInterceptor.java:46) ... 14 more
--
Daniel Kulp
[email protected]
*http://dankulp.com/blog* <http://dankulp.com/blog>