在Java、Spring中将对象发布到URL

在Java、Spring中将对象发布到URL,java,spring,web-services,rest,cxf,Java,Spring,Web Services,Rest,Cxf,我想我错过了什么 我有一个CXF服务,比如 @POST @Path("/verify") @Produces({ "application/xml", "application/json" }) public Response getSmartAlertResults( UserDetails usrDetails); UserDetails是一个Java类,只有两个字段用户名和密码。如何从代码向其发布数据。或者把它简单地放在另一个java应用程序中,我需要发布UserDeta

我想我错过了什么

我有一个CXF服务,比如

@POST
@Path("/verify")
@Produces({ "application/xml", "application/json" })
public Response getSmartAlertResults(
        UserDetails usrDetails);
UserDetails是一个Java类,只有两个字段用户名和密码。如何从代码向其发布数据。或者把它简单地放在另一个java应用程序中,我需要发布UserDetails对象。这将是一个控制台应用程序。未正确调用该服务

我做了什么

         URL url = new URL("http://localhost/verify");

         HttpURLConnection conn = (HttpURLConnection)
         url.openConnection();
         conn.setRequestMethod("POST");
         conn.setRequestProperty("Accept", "application/xml");
         conn.setDoOutput(true);

         OutputStream os = conn.getOutputStream();

         ObjectOutputStream oos = new ObjectOutputStream(os);
         oos.writeObject("usrDetails");
         // this is the object to pass
                     oos.writeObject(userDetails);

         System.out.println(conn.getResponseCode());

您应该看看。您可以使用CXF提供的weblclient。由于您使用的是json,请确保正确配置了json提供程序

try {
            String endPointURL = "your url";
            WebClient client = null;


            client = WebClient.create(endPointURL);

            client.accept(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML);

            MyObject obj =new MyObject();

            response = client.post(obj);
        } catch (Exception e) {
    }