A message processing method, applied to software-defined networking, SDN, wherein the method comprises: sending, by an application, a first message to a controller, wherein the first message comprises a message header and a payload, the message header of the first message is used to identify that a message type of the first message is a request message, the payload of the first message comprises service content used to describe a service requirement, the service content comprises target information and operation information, the target information is used to identify a target object, and the operation information is used to identify an operation used to implement the service requirement on the target object; receiving, by the application, a second message sent by the controller, wherein the second message comprises a message header and a payload, the message header of the second message is used to identify that a message type of the second message is a response message, the payload of the second message comprises solution information of at least one solution used to implement the service content, and the solution information comprises a solution description of the at least one solution or a solution identifier corresponding to the at least one solution; identifying, by the application based on the message header of the second message, that the second message is a response message; and obtaining, by the application, the solution information of the at least one solution based on the payload of the second message; wherein the service content further comprises constraint information and/or context information, the constraint information of the service content is used to identify a constraint condition for the service content, the context information of the service content is used to identify environment information for the service content, and the environment information comprises any one or a combination of an application environment parameter, a network environment parameter, or an application scenario source. sending, by an application, a first message to a controller, wherein the first message comprises a message header and a payload, the message header of the first message is used to identify that a message type of the first message is a request message, the payload of the first message comprises service content used to describe a service requirement, the service content comprises target information and operation information, the target information is used to identify a target object, and the operation information is used to identify an operation used to implement the service requirement on the target object; receiving, by the application, a second message sent by the controller, wherein the second message comprises a message header and a payload, the message header of the second message is used to identify that a message type of the second message is a response message, the payload of the second message comprises solution information of at least one solution used to implement the service content, and the solution information comprises a solution description of the at least one solution or a solution identifier corresponding to the at least one solution; identifying, by the application based on the message header of the second message, that the second message is a response message; and obtaining, by the application, the solution information of the at least one solution based on the payload of the second message; wherein the service content further comprises constraint information and/or context information, the constraint information of the service content is used to identify a constraint condition for the service content, the context information of the service content is used to identify environment information for the service content, and the environment information comprises any one or a combination of an application environment parameter, a network environment parameter, or an application scenario source.