You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Victor Machado Pasqualino (JIRA)" <ji...@apache.org> on 2019/06/19 01:15:00 UTC

[jira] [Created] (CXF-8059) @FormParam inside @BeanParam not working

Victor Machado Pasqualino created CXF-8059:
----------------------------------------------

             Summary: @FormParam inside @BeanParam not working
                 Key: CXF-8059
                 URL: https://issues.apache.org/jira/browse/CXF-8059
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 3.1.18
         Environment: Linux:
Linux 5.1.9-arch1-1-ARCH #1 SMP PREEMPT Tue Jun 11 16:18:09 UTC 2019 x86_64 GNU/Linux

Java:
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b01)
OpenJDK 64-Bit Server VM (build 25.212-b01, mixed mode)

            Reporter: Victor Machado Pasqualino


class UserInsert {
	@FormParam("name") //not work
	private String name;
	@HeaderParam("Authorization") //work
	private String authorization;
	@PathParam("id") //work
	private String id;
	@QueryParam("login") //work
	private String login;
	
	public void setName(String name) {
		this.name = name;
	}
	
	public void setAuthorization(String authorization) {
		this.authorization = authorization;
	}
	
	public void setId(String id) {
		this.id = id;
	}
	
	public void setLogin(String login) {
		this.login = login;
	}
	
}

@Path("user")
interface UserResource {
	
	@Path("{id}")
	@POST
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.WILDCARD)
	Response save(@BeanParam UserInsert userInsert);

}

public class Main {
	
	public static void main(String[] args) {
		
		WireMockServer wireMockServer = new WireMockServer(wireMockConfig().port(8080).notifier(new ConsoleNotifier(true)));
		wireMockServer.start();
		
		try {
			UserInsert userInsert = new UserInsert();
			userInsert.setName("Victor Machado Pasqualino");
			userInsert.setAuthorization("Basic YWRtaW46YWRtaW4=");
			userInsert.setId("5a4cfa7d-d3bd-4483-968f-b5826ec07712");
			userInsert.setLogin("victorpasqualino");
			
			JAXRSClientFactoryBean jaxrsClientFactory = new JAXRSClientFactoryBean();
			jaxrsClientFactory.setAddress("http://localhost:8080/rest");
			jaxrsClientFactory.setResourceClass(UserResource.class);
			jaxrsClientFactory.getOutInterceptors().add(new LoggingOutInterceptor());
			
			UserResource userResource = jaxrsClientFactory.create(UserResource.class);
			
			userResource.save(userInsert);
		} finally {
			wireMockServer.stop();
		}
		
	}

}

Client Request:
INFO: Outbound Message
---------------------------
ID: 1
Address: http://localhost:8080/rest/user/5a4cfa7d-d3bd-4483-968f-b5826ec07712?login=victorpasqualino
Http-Method: POST
Content-Type: application/x-www-form-urlencoded
Headers: {Authorization=[Basic YWRtaW46YWRtaW4=], Content-Type=[application/x-www-form-urlencoded], Accept=[application/xml]}
--------------------------------------

Server Request:
2019-06-19 01:53:29.363 Request was not matched as there were no stubs registered:
{
  "url" : "/rest/user/5a4cfa7d-d3bd-4483-968f-b5826ec07712?login=victorpasqualino",
  "absoluteUrl" : "http://localhost:8080/rest/user/5a4cfa7d-d3bd-4483-968f-b5826ec07712?login=victorpasqualino",
  "method" : "POST",
  "clientIp" : "127.0.0.1",
  "headers" : {
    "Authorization" : "Basic YWRtaW46YWRtaW4=",
    "Accept" : "application/xml",
    "Cache-Control" : "no-cache",
    "User-Agent" : "Apache-CXF/3.1.18",
    "Connection" : "keep-alive",
    "Host" : "localhost:8080",
    "Pragma" : "no-cache",
    "Content-Length" : "0",
    "Content-Type" : "application/x-www-form-urlencoded"
  },
  "cookies" : { },
  "browserProxyRequest" : false,
  "loggedDate" : 1560905608975,
  "bodyAsBase64" : "",
  "body" : "",
  "scheme" : "http",
  "host" : "localhost",
  "port" : 8080,
  "loggedDateString" : "2019-06-19T00:53:28Z",
  "queryParams" : {
    "login" : {
      "key" : "login",
      "values" : [ "victorpasqualino" ]
    }
  }
}

2019-06-19 01:53:29.368 Request received:
127.0.0.1 - POST /rest/user/5a4cfa7d-d3bd-4483-968f-b5826ec07712?login=victorpasqualino

Authorization: [Basic YWRtaW46YWRtaW4=]
Accept: [application/xml]
Cache-Control: [no-cache]
User-Agent: [Apache-CXF/3.1.18]
Connection: [keep-alive]
Host: [localhost:8080]
Pragma: [no-cache]
Content-Length: [0]
Content-Type: [application/x-www-form-urlencoded]




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)