You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Pritesh Gajjar (JIRA)" <ji...@apache.org> on 2016/04/01 21:31:25 UTC

[jira] [Created] (CXF-6856) The BARE CXF web service invokes no parameter operation/method for GET request from browsers.

Pritesh Gajjar created CXF-6856:
-----------------------------------

             Summary: The BARE CXF web service invokes no parameter operation/method for GET request from browsers.
                 Key: CXF-6856
                 URL: https://issues.apache.org/jira/browse/CXF-6856
             Project: CXF
          Issue Type: Bug
          Components: JAX-WS Runtime, Soap Binding
    Affects Versions: 3.1.6, 2.7.1
         Environment: • Java 1.6
• Spring 3.0.0
• CXF 2.7.0 / 2.7.1
• CXF web service starts with embedded Jetty using spring context
            Reporter: Pritesh Gajjar
            Priority: Minor


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:*
bq. 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):*
bq. *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.
bq. *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:*

{quote}
*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? {color:green}*YES*.{color}
{quote}

{quote}
*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? {color:red}*NO*.{color} BARE should return the same result as WRAPPED
{quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)