Just a guess...if you look at your SessionCreateRQService.java file, you'll see that it hardcodes a WSDL file, almost certainly the WSDL you used to create the class.
Anyway, if you modify *that* WSDL (i.e., go into that WSDL's wsdl:service/port and modify the default URL there), and change the URL there from https to http, your problem below should get fixed (as a matter of fact, you can even switch the WSDL completely to the actual URL you want to use and not need to set the endpoint address below.) IIRC setting the ENDPOINT_ADDRESS_PROPERTY works with CXF if you're going https<-->https, or http<-->http, but between the two protocols this error tends to occur. Probably a bug, but just as well I would say, in case you accidentally downgraded from https to http without realizing it. Glen Christopher Cheng wrote: > > 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> > > -- View this message in context: http://www.nabble.com/Re%3A-Re%3A-problem-changing-endpoint-address-from-https-to-http-tp21254391p21256811.html Sent from the cxf-user mailing list archive at Nabble.com.
