错误HTTP状态415 - 将XML从php发送到RESTful时不支持的媒体类型

I have RESTful web service deploy on jboss EAP. In other, I create php file for make a XML and I want send(POST) them to RESTful.

The RESTful http://192.168.0.191:8080/UserManagement/rest/UserService/users/ webservice show like this :

<sample>
  <user>
    <id>1</id>
    <name>Moyes Chuck</name>
    <profession>Teacher</profession>
  </user>
  <user>
    <id>2</id>
    <name>Van Gaal</name>
    <profession>Driver</profession>
  </user>
</sample>

And create postxml.php :

$xml = new SimpleXMLElement('<sample/>');
    $track = $xml->addChild('user');
    $track->addChild('id', "3");
    $track->addChild('name', "Brody Ben");
    $track->addChild('profession', "Manager");

in same file(postxml.php), this code I wrote to post to RESTful:

$service_url1 = 'http://192.168.0.191:8080/UserManagement/rest/UserService/users/';
$curl1 = curl_init($service_url1);
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, true);
$arr=array("key"=>$xml);
curl_setopt($curl1, CURLOPT_POST, 1);
curl_setopt($curl1, CURLOPT_POSTFIELDS,$arr);
echo $curl1_response = curl_exec($curl1);
curl_close($curl1);

But when I run postxml.php on browser http://localhost:82/test3/postxml.php, it show an error :

HTTP Status 415 - Unsupported Media Type.
JBWEB000069: description JBWEB000135: The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.

remove $arr=array("key"=>$xml); and just add this code and will be work fine

curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/xml',                                                                                
    'Content-Length: ' . strlen($xml))                                                                       
); 

You are POSTing an object of type SimpleXMLElement to the web service.

Send the xml string instead

$arr=array("key"=>$xml->asXML());

If try

print $xml->asXML();

You will see the actual XML string, which is what you need to send to the web service.