QC ALM REST создание дефекта с использованием REST API

Я пытаюсь открыть новый дефект в QC, используя rest API

Мой код выглядит следующим образом

createxml ='<Entity Type="defect">
<Fields>
     <Field Name="user-15">
          <Value>Development</Value>
     </Field>' ;

$qc = curl_init();
// create a cookie file
$ckfile = tempnam ("/tmp", "CURLCOOKIE");

// The authentication is done and also checks are done and after below code is executed to create a new defect in QC

$url ="http://host/qcbin/rest/domains/STANDARD_STRUCT/projects/Releases/defects/" ;

curl_setopt($qc, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($qc, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml"));
curl_setopt($qc, CURLOPT_HTTPHEADER, Array("Accept: application/xml"));
curl_setopt($qc, CURLOPT_URL, $url);
curl_setopt($qc, CURLOPT_POST, 1);
curl_setopt($qc, CURLOPT_POSTFIELDS,$createxml);
curl_setopt($qc, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($qc);

if(curl_errno($qc))
    print curl_error($qc) ;
else
    curl_close($qc) ;

echo $result ; `

Примечание. Использование неопределенной константы http_code — предполагаемый «http_code» в C:\xampp\htdocs\createdef.php в строке 150 200, ответ не создается `

Я не могу понять, что вызывает проблему.


person user3436222    schedule 14.08.2015    source источник
comment
$creexml = '‹Тип объекта=дефект› ‹Поля› ‹Имя поля=user-15› ‹Значение›Разработка‹/Значение› ‹/Поле› ‹Имя поля=user-13›' ;   -  person user3436222    schedule 14.08.2015
comment
Вышеупомянутая часть верна. Однако я получаю сообщение об ошибке ниже. Это связано с некоторой конфигурацией при настройке HP QC, из-за которой я не могу создать дефект с помощью REST. Однако я могу сделать это от своего пользователя из QC. qccore.general-errorjavax.ws.rs.WebApplicationException в org.apache.wink.server.internal.registry.ResourceRegistry.filterDispatchMethods(ResourceRegistry.java:468) в org.apache.wink.server.internal.registry.ResourceRegistry.findMethod (ResourceRegistry.java:352) по адресу org.apache.wink.server.intern.   -  person user3436222    schedule 14.08.2015
comment
g.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) в org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) в org.apache.coyote.http11.Http11Processor.process( Http11Processor.java:829) по адресу org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) по адресу org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Примечание. Использование неопределенной константы http_code — предполагаемый «http_code» в C:\xampp\htdocs\createdef.php в строке 150 200 ответ не создается   -  person user3436222    schedule 14.08.2015
comment
Я ценю, если кто-нибудь попытается помочь   -  person user3436222    schedule 01.09.2015


Ответы (1)


Я вижу две ошибки:

1)

 createxml ='<Entity Type="defect">
    <Fields>
         <Field Name="user-15">
              <Value>Development</Value>
         </Field>' ;

--> Вы не закрыли поля. Хотя бы нормальную проверку на xml можно добавить от вас. Например, я имею в виду короткое создание xml.

2) Удалите знак «/» в конце командной строки. Вам это не нужно.

В случае создания кода 201 отвечает API ALM. Я знаю, что прошло много времени, но надеюсь немного помочь в будущем!

Пожалуйста, проверьте и хорошего дня.

person Marco smdm    schedule 02.02.2017