Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-6856

The BARE CXF web service invokes no parameter operation/method for GET request from browsers.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Won't Fix
    • 2.7.1, 3.1.6
    • Invalid
    • None
    • • Java 1.6
      • Spring 3.0.0
      • CXF 2.7.0 / 2.7.1
      • CXF web service starts with embedded Jetty using spring context

    • Unknown

    Description

      I am not sure if this is a feature or bug introduced in version 2.7.1 (or greater) but below is the behavior I noticed when GET request is sent to the BARE CXF web service using web browsers.

      Code Snippets:

      @WebService
      @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
      public interface HelloWorld
      {
      @WebMethod(action = "/sayHi")
      @WebResult(name = "strResponse", partName = "strResponse")
      public String sayHi();

      @WebMethod(action = "/sayHiToUser")
      @WebResult(name = "strResponse", partName = "strResponse")
      String sayHiToUser(@WebParam(name="user") String user);
      }

      @WebService
      public class HelloWorldImpl implements HelloWorld
      {
      @Override
      public String sayHi()

      { return "Hi there..."; }

      @Override
      public String sayHiToUser(String user)

      { return "Hi " + user; }

      }

      <jaxws:endpoint
      id="helloWorld"
      implementor="com.cxf.service.HelloWorldImpl"
      address="http://127.0.0.1:8080/HelloWorld"
      endpointName="e:HelloWorld"
      xmlns:e="http://service.jaxws.cxf.apache.org/endpoint">
      </jaxws:endpoint>

      Environment/Configs:

      • Java 1.6
      • Spring 3.0.0
      • CXF 2.7.0 / 2.7.1
      • CXF web service starts within embedded Jetty using spring context

      Detailed Explanation:

      CXF Version 2.7.0:

      When I access this web service using web browser with URL "http://127.0.0.1:8080/HelloWorld" (No ?wsdl at the end), I am getting "No such operation" response back in the web browser for both BARE & WRAPPED ParameterStyle which is the expected behavior.

      CXF Version 2.7.1 (or greater):

      ParameterStyle WRAPPED: When I access this web service using web browser with URL "http://127.0.0.1:8080/HelloWorld" (No ?wsdl at the end), I am getting "No binding operation info while invoking unknown method with params unknown." response back in the web browser which is the expected behavior.

      ParameterStyle BARE: When I access this web service using web browser with URL "http://127.0.0.1:8080/HelloWorld" (No ?wsdl at the end), I am getting "Hi there..." response back in the web browser. It calls sayHi() operation/method but there is no SOAPAction specified in the GET request header. This is NOT the expected response. I was expecting the same response as ParameterStyle WRAPPED.

      Results:

      CXF Version: 2.7.0
      • URL: "http://127.0.0.1:8080/HelloWorld" (Using web browser and no ?wsdl at the end)
      • ParameterStyle: BARE / Response: No such operation
      • ParameterStyle: WRAPPED / Response: No such operation
      • Expected Result? YES.

      CXF Version: 2.7.1 (or greater)
      • URL: "http://127.0.0.1:8080/HelloWorld" (Using web browser and no ?wsdl at the end)
      • ParameterStyle: BARE / Response: Hi there... / Called sayHi()
      • ParameterStyle: WRAPPED / Response: No binding operation info while invoking unknown method with params unknown.
      • Expected Result? NO. BARE should return the same result as WRAPPED

      Attachments

        Activity

          People

            Unassigned Unassigned
            PriteshPostings Pritesh Gajjar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: