cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sean Patrick Floyd" <seani...@gmx.net>
Subject RE: CXF problem: IllegalStateException (Already connected)
Date Thu, 17 Jun 2010 14:07:35 GMT
Daniel, thanks for your help.

I'll try to post a Sample project in an hour or so.

Re Versions, I think I am current.

Here's the output of 
mvn dependency:tree -Dincludes=org.apache.cxf

Client Project:

 +- org.apache.cxf:cxf-rt-frontend-simple:jar:2.2.9:compile
 |  +- org.apache.cxf:cxf-api:jar:2.2.9:compile
 |  |  +- org.apache.cxf:cxf-common-utilities:jar:2.2.9:compile
 |  |  \- org.apache.cxf:cxf-common-schemas:jar:2.2.9:compile
 |  +- org.apache.cxf:cxf-rt-core:jar:2.2.9:compile
 |  \- org.apache.cxf:cxf-rt-bindings-soap:jar:2.2.9:compile
 |     +- org.apache.cxf:cxf-tools-common:jar:2.2.9:compile
 |     \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.2.9:compile
 +- org.apache.cxf:cxf-rt-transports-http:jar:2.2.9:compile
 +- org.apache.cxf:cxf-rt-databinding-aegis:jar:2.2.9:compile
 \- org.apache.cxf:cxf-rt-bindings-http:jar:2.2.9:compile
    +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.2.9:compile
    \- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.2.9:compile
       \- org.apache.cxf:cxf-rt-ws-addr:jar:2.2.9:compile

Server Project:

+- org.apache.cxf:cxf-rt-databinding-aegis:jar:2.2.9:compile
|  +- org.apache.cxf:cxf-api:jar:2.2.9:compile
|  |  +- org.apache.cxf:cxf-common-utilities:jar:2.2.9:compile
|  |  \- org.apache.cxf:cxf-common-schemas:jar:2.2.9:compile
|  +- org.apache.cxf:cxf-rt-core:jar:2.2.9:compile
|  \- org.apache.cxf:cxf-rt-frontend-simple:jar:2.2.9:compile
|     \- org.apache.cxf:cxf-rt-bindings-soap:jar:2.2.9:compile
|        \- org.apache.cxf:cxf-tools-common:jar:2.2.9:compile
+- org.apache.cxf:cxf-rt-transports-http:jar:2.2.9:compile
+- org.apache.cxf:cxf-rt-bindings-http:jar:2.2.9:compile
|  +- org.apache.cxf:cxf-rt-bindings-xml:jar:2.2.9:compile
|  |  \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:2.2.9:compile
|  \- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.2.9:compile
|     \- org.apache.cxf:cxf-rt-ws-addr:jar:2.2.9:compile
\- org.apache.cxf:cxf-rt-transports-http-jetty:jar:2.2.9:provided


-- 
MostlyMagic.com - Sean Patrick Floyd
IT-Consultant und Senior Java Developer
Mobile: +49 170 4746496
Mail:   info@mostlymagic.com
Web:    www.mostlymagic.com
XING:   https://www.xing.com/profile/SeanPatrick_Floyd
GULP:   http://www.gulp.de/Profil/mostlymagic.html

-----Original Message-----
From: Daniel Kulp [mailto:dkulp@apache.org] 
Sent: Donnerstag, 17. Juni 2010 15:56
To: users@cxf.apache.org
Cc: Sean Patrick Floyd
Subject: Re: CXF problem: IllegalStateException (Already connected)


I've never really seen this error before with CXF.   Is there any way you
can 
create a small sample that shows it?   

Also, what version of CXF and what version of the JDK?   If not using the 
latest of each, definitely try updating.

Dan


On Thursday 17 June 2010 6:21:33 am Sean Patrick Floyd wrote:
> Hello,
> 
> 
> 
> I am a somewhat experienced Java / Spring developer but new to CXF. I am
> trying to hook up a client and server using the simple frontend using
these
> spring configs:
> 
> 
> 
> SERVER:
> 
> 
> 
> <beans xmlns="http://www.springframework.org/schema/beans"
> 
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:simple="http://cxf.apache.org/simple"
> 
>       xmlns:soap="http://cxf.apache.org/bindings/soap"
> xmlns:context="http://www.springframework.org/schema/context"
> 
>       xmlns:cs="http://[www.mycompany.com]/coupon/service"
> 
>       xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> 
>             http://cxf.apache.org/bindings/soap
> http://cxf.apache.org/schemas/configuration/soap.xsd
> 
>             http://cxf.apache.org/simple
> http://cxf.apache.org/schemas/simple.xsd
> 
>             http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-3.0.xsd"
> 
>             default-autowire="byType"
> 
> 
> 
> 
> 
>       <import resource="classpath:META-INF/cxf/cxf.xml" />
> 
>       <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
> 
>       <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
> 
>       <import
> resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml" />
> 
>       <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> 
>       <import resource="classpath*:persistenceContext.xml" /> <!-my
service
> implementation -->
> 
> 
> 
>       <!--  serviceClass points to an interface -->
> 
>       <simple:server id="server" serviceBean="couponService"
> 
>             serviceClass="[com.mycompany].MyServiceInterface"
> 
>             bindingId="http://apache.org/cxf/binding/http"
> 
>             address="/${wsdl.path}"
> 
>             serviceName="cs:couponService"
> 
>             endpointName="cs:couponServicePort"
> 
> 
> 
>             <simple:dataBinding>
> 
>                   <bean
> class="org.apache.cxf.aegis.databinding.AegisDatabinding" />
> 
>             </simple:dataBinding>
> 
>             <simple:binding>
> 
>                   <soap:soapBinding version="1.2" mtomEnabled="true" />
> 
>             </simple:binding>
> 
>       </simple:server>
> 
> 
> 
>       <context:property-placeholder
location="classpath:service.properties"
> />
> 
> </beans>
> 
> 
> 
> CLIENT:
> 
> 
> 
> <beans xmlns="http://www.springframework.org/schema/beans"
> 
>       xmlns:simple="http://cxf.apache.org/simple"
> xmlns:soap="http://cxf.apache.org/bindings/soap"
> 
>       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:aop="http://www.springframework.org/schema/aop"
> 
>       xmlns:context="http://www.springframework.org/schema/context"
> 
>       xmlns:oxm=http://www.springframework.org/schema/oxm
> 
>       xmlns:cs="http://[www.mycompany.com]/coupon/service"
> 
>       xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
> 
>             http://cxf.apache.org/bindings/soap
> http://cxf.apache.org/schemas/configuration/soap.xsd
> 
>             http://cxf.apache.org/simple
> http://cxf.apache.org/schemas/simple.xsd
> 
>             http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
> 
>             http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context-3.0.xsd
> 
>             http://www.springframework.org/schema/oxm
> http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd"
> 
>             default-autowire="byType"
> 
> 
> 
> 
> 
> 
> 
>       <import resource="classpath:META-INF/cxf/cxf.xml" />
> 
>       <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
> 
>       <import
> resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml" />
> 
>       <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
> 
> 
> 
> 
> 
>       <simple:client id="couponService" wsdlLocation="${wsdl.url}?wsdl"
> 
>             serviceName="cs:couponService"
> 
>             endpointName="cs:couponServicePort"
> 
>             transportId="http://schemas.xmlsoap.org/soap/http"
> 
>             address="${wsdl.url}"
> 
>             bindingId="http://apache.org/cxf/binding/http"
> 
>             serviceClass="[com.mycompany].MyServiceInterface">
> 
>             <simple:dataBinding>
> 
>                   <bean
> class="org.apache.cxf.aegis.databinding.AegisDatabinding" />
> 
>             </simple:dataBinding>
> 
>             <simple:binding>
> 
>                   <soap:soapBinding mtomEnabled="true" version="1.2" />
> 
>             </simple:binding>
> 
>       </simple:client>
> 
> 
> 
>       <context:property-placeholder
location="classpath:service.properties"
> />
> 
> 
> 
> 
> 
> </beans>
> 
> 
> 
> On the client side, I inject the generated service into my web application
> (I am using wicket but that should be irrelevant) and when I call service
> methods on it I get an IllegalStateException from
> java.net.HttpURLConnection saying the connection is already open. Here's
> the stack trace:
> 
> 
> 
> java.lang.IllegalStateException: IllegalStateException invoking
> http://localhost:9999/services/coupon: Already connected
> 
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
> 
>       at
>
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcce
> s sorImpl.java:39)
> 
>       at
>
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru
> c torAccessorImpl.java:27)
> 
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 
>       at
>
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(
> H TTPConduit.java:2058)
> 
>       at
>
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon
> d uit.java:2048)
> 
>       at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
> 
>       at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
> 
>       at
>
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInte
> r ceptor.handleMessage(MessageSenderInterceptor.java:62)
> 
>       at
>
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n .java:243)
> 
>       at
>
org.apache.cxf.binding.http.interceptor.DatabindingOutSetupInterceptor.hand
> l eMessage(DatabindingOutSetupInterceptor.java:91)
> 
>       at
>
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n .java:243)
> 
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
> 
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
> 
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
> 
>       at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
> 
>       at org.apache.cxf.frontend.ClientProxy.invoke(ClientProxy.java:68)
> 
>       at $Proxy30.createIndividualUserCouponsJob(Unknown Source)
> 
>       at
>
[com.mycompany].coupons.web.app.dummycontent.DummyContentInitializer.addSom
> e IndividualCoupons(DummyContentInitializer.java:84)
> 
>       at
>
[com.mycompany].coupons.web.app.dummycontent.DummyContentInitializer.addSom
> e Coupons(DummyContentInitializer.java:68)
> 
>       at
>
[com.mycompany].coupons.web.app.dummycontent.DummyContentInitializer.init(D
> u mmyContentInitializer.java:50)
> 
>       at
> org.apache.wicket.Application.callInitializers(Application.java:843)
> 
>       at
> org.apache.wicket.Application.initializeComponents(Application.java:678)
> 
>       at
> org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:725)
> 
>       at
> org.apache.wicket.protocol.http.WicketServlet.init(WicketServlet.java:219)
> 
>       at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> 
>       at
>
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:433)
> 
>       at
> org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
> 
>       at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
> 
>       at
>
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:617
> )
> 
>       at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
> 
>       at
>
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218
> )
> 
>       at
> org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
> 
>       at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
> 
>       at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
> 
>       at
> org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
> 
>       at org.mortbay.jetty.Server.doStart(Server.java:220)
> 
>       at
> org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
> 
>       at [com.mycompany].coupons.web.test.Start.main(Start.java:45)
> 
> Caused by: java.lang.IllegalStateException: Already connected
> 
>       at
>
java.net.HttpURLConnection.setFixedLengthStreamingMode(HttpURLConnection.ja
> v a:103)
> 
>       at
>
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.thresholdNotR
> e ached(HTTPConduit.java:1889)
> 
>       at
>
org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutp
> u tStream.java:99)
> 
>       at
>
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPCon
> d uit.java:1980)
> 
> 
> 
> This happens the first time a service call is made, and the only
> URLConnection that is opened before that is that of the wsdl (I put a
> breakpoint in the constructor of HttpURLConnection).
> 
> 
> 
> I have searched the web for similar problems, but all I found was a bug
> using rest that has already been fixed.
> 
> I am trying to use the simple frontend, as my service is not annotated
with
> jax-ws annotations and I would like to keep it that way.
> 
> 
> 
> Can someone help? Thanks in advance.
> 
> 
> 
> Sean

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog



Mime
View raw message