cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Monish Unni (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-3508) Local Transport Factory and HTTP Transport Factory not compatible in cxf-2.4.0 was working in cxf-2.3.3
Date Sat, 14 May 2011 05:57:47 GMT

    [ https://issues.apache.org/jira/browse/CXF-3508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033470#comment-13033470
] 

Monish Unni commented on CXF-3508:
----------------------------------

we extend org.apache.cxf.jaxws.JaxWsClientProxy to create different proxies based on a service
type where in we customize the interceptors. to this end we have spring injection initialize
the transport factory to which we provide the transport ids.
so this allows us to switch protocols, host and port and cherry pick interceptors for our
service type.

at this point it's kind of difficult to provide any source code as there's some proprietary
code.

suggest having a spring config like the above and extending a class that allows you to set
the protocol -or setAddress on the JaxWsClientProxy - explicitly and/or change transportIds
and bindings(Ids).

regards,


> Local Transport Factory and HTTP Transport Factory not compatible in cxf-2.4.0 was working
 in cxf-2.3.3
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-3508
>                 URL: https://issues.apache.org/jira/browse/CXF-3508
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration, JAX-WS Runtime
>    Affects Versions: 2.4
>         Environment: any JVM based OS that can run cxf stack
>            Reporter: Monish Unni
>              Labels: test
>
> with the following definition if i try to use the "local://" protocol , i get the  error
as stated below ( the spring definition ) 
>    <import resource="classpath:META-INF/cxf/cxf.xml" />
>    <bean class="org.apache.cxf.transport.http.HTTPTransportFactory" lazy-init="true">
>         <property name="transportIds">
>             <list>
>                 <value>http://cxf.apache.org/bindings/xformat</value>
>                 <value>http://schemas.xmlsoap.org/soap/http</value>
>                 <value>http://schemas.xmlsoap.org/wsdl/soap/http</value>
>             </list>
>         </property>
>     </bean>
>     <bean class="org.apache.cxf.transport.local.LocalTransportFactory" lazy-init="true">
>         <property name="transportIds">
>             <list>
>                 <value>http://cxf.apache.org/transports/local</value>
>             </list>
>         </property>
>     </bean>
> WARN  org.apache.cxf.phase.PhaseInterceptorChain  - Interceptor for {http://web.state.org/}Echo#{http://web.state.org/}echo
has thrown exception, unwinding now
> 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:263)
>     at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:484)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:414)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
>     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
>     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
>     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>     at $Proxy39.echo(Unknown Source)
>     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 org.state.gov.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
>     at org.state.gov.cxf.jaxws.JaxwsClientProxyTest.testJaxWsProxy(JaxwsClientProxyTest.java:49)
>     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 org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>     at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>     at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>     at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>     at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>     at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:74)
>     at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>     at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
>     at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72)
>     at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
>     at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>     at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>     at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>     at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>     at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>     at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>     at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
>     at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
>     at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>     at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
>     at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
>     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
>     at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
>     at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>     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 org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
>     at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
> Caused by: java.net.MalformedURLException: unknown protocol: local
>     at java.net.URL.<init>(URL.java:574)
>     at java.net.URL.<init>(URL.java:464)
>     at java.net.URL.<init>(URL.java:413)
>     at org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:655)
>     at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:455)
>     at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
>     ... 48 more

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message