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