You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by shrimpy <im...@gmail.com> on 2010/12/16 13:11:10 UTC
Why CXF doesn`t work well???
Hi All,
I use CXF to create a code first web service, with SOAP 1.2...
on the other end, i create a C# client to visit the CXF web service
but i will get very wired exception
"No binding operation info while invoking unknown method with params
unknown."
I am using 2.3.1 CXF, java sdk 6... see the code and exceptioin as below
do anyone know what is the issue??? how can i fix it???
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
*
* @author shrimpy
*/
@WebService(name = "IDartProxy", targetNamespace = "http://mydemo.com")
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use =
SOAPBinding.Use.LITERAL, parameterStyle =
SOAPBinding.ParameterStyle.WRAPPED)
public interface IDartProxy {
@WebMethod
String run(@WebParam(name = "s") String s);
}
import javax.jws.WebService;
/**
*
* @author shrimpy
*/
@WebService(endpointInterface = "com.mydemo.demo.IDartProxy")
public class DartProxyImpl implements IDartProxy {
@Override
public String run(String s) {
return "Hello " + s;
}
}
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.xsd">
<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-servlet.xml" />
<jaxws:endpoint
id="dartProxy"
implementor="com.mydemo.demo.DartProxyImpl"
address="/DartProxy"
>
<jaxws:binding>
<soap:soapBinding mtomEnabled="true" version="1.2"/>
</jaxws:binding>
<jaxws:features>
<wsa:addressing
xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
</jaxws:features>
</jaxws:endpoint>
</beans>
org.apache.cxf.interceptor.Fault: No binding operation info while invoking
unknown method with params unknown.
at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:60)
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
--
View this message in context: http://cxf.547215.n5.nabble.com/Why-CXF-doesn-t-work-well-tp3307826p3307826.html
Sent from the cxf-user mailing list archive at Nabble.com.
Re: Why CXF doesn`t work well???
Posted by Christian Schneider <ch...@die-schneider.net>.
Hi,
I usually only annotate the interface. You could try to remove the
webservice annotation from the DartProxyImpl.
You should also try to remove the mtom and wsadressing configs to see if
it works without. Then you can put them in again and see where it breakes.
Best regards
Christian
Am 16.12.2010 13:11, schrieb shrimpy:
> Hi All,
>
> I use CXF to create a code first web service, with SOAP 1.2...
> on the other end, i create a C# client to visit the CXF web service
>
> but i will get very wired exception
> "No binding operation info while invoking unknown method with params
> unknown."
>
> I am using 2.3.1 CXF, java sdk 6... see the code and exceptioin as below
>
> do anyone know what is the issue??? how can i fix it???
>
>
>
> import javax.jws.WebMethod;
> import javax.jws.WebParam;
> import javax.jws.WebService;
> import javax.jws.soap.SOAPBinding;
>
> /**
> *
> * @author shrimpy
> */
> @WebService(name = "IDartProxy", targetNamespace = "http://mydemo.com")
> @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use =
> SOAPBinding.Use.LITERAL, parameterStyle =
> SOAPBinding.ParameterStyle.WRAPPED)
> public interface IDartProxy {
>
> @WebMethod
> String run(@WebParam(name = "s") String s);
> }
>
>
>
> import javax.jws.WebService;
>
> /**
> *
> * @author shrimpy
> */
> @WebService(endpointInterface = "com.mydemo.demo.IDartProxy")
> public class DartProxyImpl implements IDartProxy {
>
> @Override
> public String run(String s) {
> return "Hello " + s;
> }
> }
>
>
>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:jaxws="http://cxf.apache.org/jaxws"
> xmlns:soap="http://cxf.apache.org/bindings/soap"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://cxf.apache.org/jaxws
> http://cxf.apache.org/schemas/jaxws.xsd
> http://cxf.apache.org/bindings/soap
> http://cxf.apache.org/schemas/configuration/soap.xsd">
>
> <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-servlet.xml" />
>
> <jaxws:endpoint
> id="dartProxy"
> implementor="com.mydemo.demo.DartProxyImpl"
> address="/DartProxy"
> >
> <jaxws:binding>
> <soap:soapBinding mtomEnabled="true" version="1.2"/>
> </jaxws:binding>
> <jaxws:features>
> <wsa:addressing
> xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
> </jaxws:features>
> </jaxws:endpoint>
> </beans>
>
>
>
>
>
>
> org.apache.cxf.interceptor.Fault: No binding operation info while invoking
> unknown method with params unknown.
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:60)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113)
> at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97)
> at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461)
> at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188)
> at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
> at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:880)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
> at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:520)
--
----
http://www.liquid-reality.de
Re: Why CXF doesn`t work well???
Posted by Daniel Kulp <dk...@apache.org>.
Any chance you could add the Logging interceptors to capture the incoming
message? You couldjust add the @Logging to the interface to turn it on.
Then post the full log. I'd like to see if there are any WARNING's in there.
Dan
On Thursday 16 December 2010 7:11:10 am shrimpy wrote:
> Hi All,
>
> I use CXF to create a code first web service, with SOAP 1.2...
> on the other end, i create a C# client to visit the CXF web service
>
> but i will get very wired exception
> "No binding operation info while invoking unknown method with params
> unknown."
>
> I am using 2.3.1 CXF, java sdk 6... see the code and exceptioin as below
>
> do anyone know what is the issue??? how can i fix it???
>
>
>
> import javax.jws.WebMethod;
> import javax.jws.WebParam;
> import javax.jws.WebService;
> import javax.jws.soap.SOAPBinding;
>
> /**
> *
> * @author shrimpy
> */
> @WebService(name = "IDartProxy", targetNamespace = "http://mydemo.com")
> @SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use =
> SOAPBinding.Use.LITERAL, parameterStyle =
> SOAPBinding.ParameterStyle.WRAPPED)
> public interface IDartProxy {
>
> @WebMethod
> String run(@WebParam(name = "s") String s);
> }
>
>
>
> import javax.jws.WebService;
>
> /**
> *
> * @author shrimpy
> */
> @WebService(endpointInterface = "com.mydemo.demo.IDartProxy")
> public class DartProxyImpl implements IDartProxy {
>
> @Override
> public String run(String s) {
> return "Hello " + s;
> }
> }
>
>
>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:jaxws="http://cxf.apache.org/jaxws"
> xmlns:soap="http://cxf.apache.org/bindings/soap"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://cxf.apache.org/jaxws
> http://cxf.apache.org/schemas/jaxws.xsd
> http://cxf.apache.org/bindings/soap
> http://cxf.apache.org/schemas/configuration/soap.xsd">
>
> <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-servlet.xml" />
>
> <jaxws:endpoint
> id="dartProxy"
> implementor="com.mydemo.demo.DartProxyImpl"
> address="/DartProxy"
>
> <jaxws:binding>
> <soap:soapBinding mtomEnabled="true" version="1.2"/>
> </jaxws:binding>
> <jaxws:features>
> <wsa:addressing
> xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
> </jaxws:features>
> </jaxws:endpoint>
> </beans>
>
>
>
>
>
>
> org.apache.cxf.interceptor.Fault: No binding operation info while invoking
> unknown method with params unknown.
> at
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:
> 60) at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerIn
> terceptor.java:58) at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.ja
> va:37) at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceI
> nvokerInterceptor.java:106) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
> n.java:255) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
> bserver.java:113) at
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati
> on.java:97) at
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle
> tController.java:461) at
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController
> .java:188) at
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl
> et.java:148) at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstract
> HTTPServlet.java:179) at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPSer
> vlet.java:103) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSe
> rvlet.java:159) at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:389)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
> at
> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
> at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCol
> lection.java:230) at
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:1
> 14) at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:324)
> at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
> at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java
> :880) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747) at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409
> ) at
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:52
> 0)
--
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog