Ok, I'll take a look at it. That will be good since I'd like to make sure these issues get fixed if they really are bugs and not a mistake on my end.
On 9/11/07, Willem Jiang <[EMAIL PROTECTED]> wrote: > > Hi Ryan, > > Just FYI, you can take the systest's http package [1] as an example > when you write a test case for you case. > [1] > > https://svn.apache.org/repos/asf/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/http > > We can trace the bug more easily with your test case . > > Willem. > > Ryan Moquin wrote: > > Nope, I'll show you exactly what I change where one gets a handshake > error > > and the other can't construct the XML message: > > > > I change the URL between these two (depending on whether I was ssl or > not > > obviously): > > > > https://localhost:8084/webservices/messaging.asmx > > > > http://localhost:8084/webservices/messaging.asmx > > > > The only other change I make is to comment out the SSL contents of > cfx.xml: > > > > <beans xmlns="http://www.springframework.org/schema/beans" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:sec="http://cxf.apache.org/configuration/security" > > xmlns:http="http://cxf.apache.org/transports/http/configuration" > > xsi:schemaLocation=" > http://cxf.apache.org/transports/http/configuration > > http://cxf.apache.org/schemas/configuration/http-conf.xsd > > http://www.springframework.org/schema/beans > > http://www.springframework.org/schema/beans/spring-beans.xsd"> > > > > <http:conduit name="{ > > > http://www.sendwordnow.com/notification}SWN_x0020_Messaging_x0020_Web_x0020_ServiceSoap.http-conduit > > "> > > > > <!--<http:tlsClientParameters secureSocketProtocol="SSL"> > > <sec:trustManagers> > > <sec:keyStore type="JKS" password="changeit" > > file="c:\jdk1.5.0_12\jre\lib\security\cacerts"/> > > </sec:trustManagers> > > <sec:keyManagers keyPassword=""> > > <sec:keyStore type="JKS" password="changeit" > > file="c:\jdk1.5.0_12\jre\lib\security\cacerts"/> > > </sec:keyManagers> > > </http:tlsClientParameters>--> > > > > </http:conduit> > > </beans> > > > > It's prob hard to see but I commented the http:tlsClientParameters > element. > > So I use the http url and the commented cfx.xml and then I use the https > url > > and the uncommented cfx.xml. When I do, the http one will fail because > it > > claims the XML can't be created, the other one generates a handshake > error. > > Nothing else is changed. This problem also occurs on 2.1. I can see if > I > > can get a test case to demonstrate this as well. > > > > On 9/11/07, Willem Jiang <[EMAIL PROTECTED]> wrote: > > > >> Hi Ryan , > >> > >> It is wired because there is only one difference in the the transport > >> layer between the http and https. > >> So I am wonder whether you create two different projects (one for http > , > >> the other for https) or not. > >> > >> Maybe there are some difference between your two projects setting. > >> > >> Willem. > >> Ryan Moquin wrote: > >> > >>> So things have only gotten worse in regards to things going haywire > with > >>> > >> CXF > >> > >>> and the webservice I'm trying to communicate with. I'm able to send a > >>> > >> soap > >> > >>> request directly to the webservice without an SSL problems, but I > always > >>> > >> get > >> > >>> a handshake error no matter what I try with CXF. Here is my current > >>> cxf.xmlfile: > >>> > >>> <beans xmlns="http://www.springframework.org/schema/beans" > >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>> xmlns:sec="http://cxf.apache.org/configuration/security" > >>> xmlns:http="http://cxf.apache.org/transports/http/configuration" > >>> xsi:schemaLocation=" > >>> > >> http://cxf.apache.org/transports/http/configuration > >> > >>> http://cxf.apache.org/schemas/configuration/http-conf.xsd > >>> http://www.springframework.org/schema/beans > >>> http://www.springframework.org/schema/beans/spring-beans.xsd"> > >>> > >>> <http:conduit name="{ > >>> http://testnotification/notification}NotificationPort.http-conduit"> > >>> <http:tlsClientParameters secureSocketProtocol="SSL"> > >>> <sec:trustManagers> > >>> <sec:keyStore type="JKS" password="changeit" > >>> file="c:\jdk1.5.0_12\jre\lib\security\cacerts"/> > >>> </sec:trustManagers> > >>> <sec:keyManagers keyPassword=""> > >>> <sec:keyStore type="JKS" password="changeit" > >>> file="c:\jdk1.5.0_12\jre\lib\security\cacerts"/> > >>> </sec:keyManagers> > >>> </http:tlsClientParameters> > >>> </http:conduit> > >>> </beans> > >>> > >>> this is the same store that my manual connection to the webservice is > >>> > >> using, > >> > >>> yet with cxf I get: > >>> > >>> Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: > >>> handshake_failure > >>> at com.sun.net.ssl.internal.ssl.Alerts.getSSLException( > >>> > >> Alerts.java > >> > >>> :150) > >>> at com.sun.net.ssl.internal.ssl.Alerts.getSSLException( > >>> > >> Alerts.java > >> > >>> :117) > >>> at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert( > >>> SSLSocketImpl.java:1584) > >>> at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord( > >>> SSLSocketImpl.java:866) > >>> at > >>> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake( > >>> SSLSocketImpl.java:1030) > >>> at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake( > >>> SSLSocketImpl.java:1057) > >>> at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake( > >>> SSLSocketImpl.java:1041) > >>> at sun.net.www.protocol.https.HttpsClient.afterConnect( > >>> HttpsClient.java:402) > >>> at > >>> sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect( > >>> AbstractDelegateHttpsURLConnection.java: > >>> 166) > >>> at sun.net.www.protocol.http.HttpURLConnection.getOutputStream > ( > >>> HttpURLConnection.java:857) > >>> at > >>> > >> sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream > >> > >>> (HttpsURLConnectionImpl.java:230) > >>> at > >>> > >>> > >> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching > >> > >>> (HTTPConduit.java:1787) > >>> > >>> at > >>> > >>> > >> > org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite > >> ( > >> > >>> HTTPConduit.java:1755) > >>> at org.apache.cxf.io.AbstractWrappedOutputStream.write( > >>> AbstractWrappedOutputStream.java:42) > >>> at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:96) > >>> at com.ctc.wstx.sw.BufferingXmlWriter.flush( > >>> > >> BufferingXmlWriter.java > >> > >>> :214) > >>> at com.ctc.wstx.sw.BaseStreamWriter.flush( > BaseStreamWriter.java > >>> > >> :311) > >> > >>> Any ideas? I'm about at the end of my rope... I cannot for the life > of > >>> > >> me > >> > >>> get this to work. I did try to send a request without SSL just so I > >>> > >> could > >> > >>> see what it's sending, if I simply comment out the SSL config in my > >>> > >> cxf.xml, > >> > >>> then CXF will start complaining that it can't serialize my jaxb > objects > >>> because of a missing XMLRoot which makes no sense because with SSL > >>> > >> turned > >> > >>> on, it magically has no problem serializing my JAXB objects. Also, > with > >>> > >> SSL > >> > >>> off, all I get in TCPMon is just some headers sent to the webservice > >>> > >> with no > >> > >>> soap in the body. Does anyone know why this is so screwy? I'm using > >>> > >> 2.0.1: > >> > >>> Caused by: javax.xml.bind.MarshalException > >>> - with linked exception: > >>> [com.sun.istack.SAXException2: unable to marshal type " > >>> testnotification.NotificationInfo" as an element b > >>> ecause it is missing an @XmlRootElement annotation] > >>> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write( > >>> MarshallerImpl.java:295) > >>> at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal( > >>> MarshallerImpl.java:221) > >>> at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal( > >>> AbstractMarshallerImpl.java:70) > >>> at org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject( > >>> JAXBEncoderDecoder.java:187) > >>> at org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall( > >>> JAXBEncoderDecoder.java:156) > >>> ... 54 more > >>> Caused by: com.sun.istack.SAXException2: unable to marshal type " > >>> testnotification.NotificationInfo" as an > >>> element because it is missing an @XmlRootElement annotation > >>> at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError( > >>> XMLSerializer.java:225) > >>> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot > ( > >>> ClassBeanInfoImpl.java:267) > >>> at > >>> > >>> > >> > com.sun.xml.bind.v2.runtime.property.SingleReferenceNodeProperty.serializeBody > >> > >>> (SingleReferenceNodeProperty.jav > >>> a:74) > >>> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody > ( > >>> ClassBeanInfoImpl.java:286) > >>> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( > >>> XMLSerializer.java:619) > >>> at > >>> > >>> > >> > com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody > >> > >>> (SingleElementNodeProperty.java:11 > >>> 3) > >>> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody > ( > >>> ClassBeanInfoImpl.java:286) > >>> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType( > >>> XMLSerializer.java:619) > >>> at > >>> > >> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody( > >> > >>> ElementBeanInfoImpl.java:93) > >>> at > >>> > >> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody( > >> > >>> ElementBeanInfoImpl.java:127) > >>> at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody > >>> > >> ( > >> > >>> ElementBeanInfoImpl.java:244) > >>> at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot > >>> > >> ( > >> > >>> ElementBeanInfoImpl.java:251) > >>> at > com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot > >>> > >> ( > >> > >>> ElementBeanInfoImpl.java:33) > >>> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot( > >>> XMLSerializer.java:461) > >>> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write( > >>> MarshallerImpl.java:292) > >>> > >>> > >>> > > > > >
