Adding Job Order API - 02344873

Forum for users and developers of Bullhorn's Webservices API suite

Moderators: StaffingSupport, s.emmons, BullhornSupport

yasirmalik
User
Posts: 6
Joined: Mon Sep 19, 2016 3:27 pm

Adding Job Order API - 02344873

Postby yasirmalik » Tue Oct 04, 2016 3:32 pm

While trying to add a JobOrder from my PHP code, I am facing the following erro:

Code: Select all

org.hibernate.exception.ConstraintViolationException: could not insert: [com.bullhorn.entity.history.JobOrderHistory]


Below is the code that I am using:


Code: Select all

$title                      =             $_POST['title'];
                $startdate           =             $_POST['startdate'];
                $enddate              =           $_POST['enddate'];
                $capacity              =            $_POST['capacity'];
                $description  = $_POST['description'];
                $image                 =             $_FILES['image'];
               
                if(trim($title) != '' && trim($startdate) != '' && trim($enddate) != '' && trim($capacity) != '' && trim($description) != ''
                && !empty($image)){
               
                                $addObj                 =           new DateTime(date('Y-m-d h:i:s'));
                                $added1      =    $addObj->format('c');
                                $startObj1   =     new DateTime($startdate);
                                $endObj1            =            new DateTime($enddate);
                                $startObj2   =     $startObj1->format("c");
                                $endObj2     =    $endObj1->format("c");
                                $added                    =          new SoapVar($added1, XSD_DATE, "datetime","http://www.w3.org/2001/XMLSchema");
                                $startObj             =             new SoapVar($startObj2, XSD_DATE, "datetime","http://www.w3.org/2001/XMLSchema");
                                $endObj                =           new SoapVar($endObj2, XSD_DATE, "datetime","http://www.w3.org/2001/XMLSchema");
                                $capacity             =             new SoapVar($capacity, XSD_INTEGER, "int","http://www.w3.org/2001/XMLSchema");
                                $corporate   =    new SoapVar($API_currentSession->corporationId, XSD_INTEGER, "int","http://www.w3.org/2001/XMLSchema");
                               
                               
                               
                                ini_set('max_execution_time', 300);
                                try {
                                                $tmp_name = $image['tmp_name'];
                                                $img_name = uniqid()."_".$image['name'];
                                                $full_path = "http://www.sclpl.io/app/apis/1.0/avatars/".$img_name;
                                                //$upload_image = move_uploaded_file($tmp_name,"avatars/".$img_name);
                                                if($upload_image || 1==1)
                                                {
                                                                // Create a new instance of the SoapClient class.
                                                                $params = array(
                                                                                'trace' => 1,
                                                                                'soap_version' => SOAP_1_1);
                                                                $BHclient = new SoapClient("https://api.bullhornstaffing.com/webservices-1.1/?wsdl",$params);
                                                                // To run this code, you will need a valid username, password, and API key.
                                                                $username = "J.Murray5";
                                                                //$username = "PhysiciansChoiceAPI";
                                                                $password = "xxxxxxxxx";
                                                                $apiKey = "XXXXXXX-07F7-20F2-48A0AFC94961XXXX";
                                                               
                                                                // Start a new session
                                                                $session_request = new stdClass();
                                                                $session_request->username = $username;
                                                                $session_request->password = $password;
                                                                $session_request->apiKey = $apiKey;
                                                                $API_session = $BHclient->startSession($session_request);
                                                                $API_currentSession = $API_session->return;
                                                               
                                                                print_r($API_currentSession);
                                                               
                                                                /*$query_array = array(
                                                                  'address' => "",
                                                                  'benefits' => "",
                                                                  'billRateCategoryID' => "",
                                                                  'bonusPackage' => "",
                                                                  'branchCode' => "",
                                                                  'certificationList' => "",
                                                                  'clientBillRate' => "",
                                                                  'clientContact.id'=> 24656,
                                                                  'clientCorporation.id'=> $API_currentSession->corporationId,
                                                                  'costCenter' => "",
                                                                  'customText1'  => $full_path,
                                                                  'dateAdded'     => $added,
                                                                  'dateClosed' => "",
                                                                  'dateEnd'  =>  $endObj,
                                                                  'dateLastExported'=> "",
                                                                  'degreeList' => "",
                                                                  'description'  => $description,
                                                                  'durationWeeks' => "",
                                                                  'educationDegree' => "",
                                                                  'employmentType' => 'permanent',
                                                                  'externalCategoryID' => "",
                                                                  'externalID' => "",
                                                                  'feeArrangement' => "",
                                                                  'hoursOfOperation' => "",
                                                                  'hoursPerWeek' => "",
                                                                  'isDeleted' => false,
                                                                  'isInterviewRequired' => "",
                                                                  'isJobcastPublished' => "",
                                                                  'isOpen' => true,
                                                                  'isSpecified' => true,
                                                                  'isPublic' => 1,
                                                                  'jobBoardList' => "",
                                                                  'numOpenings'  => $capacity,
                                                                  'optionsPackage' => "",
                                                                  'ownerID'  => new SoapVar($API_currentSession->userId, XSD_INTEGER, "int","http://www.w3.org/2001/XMLSchema"),
                                                                  'payRate' => "",
                                                                  'reasonClosed' => "",
                                                                  'reportTo' => "",
                                                                  'reportToClientContactID' => "",
                                                                  'salaryUnit' => "",
                                                                  'startDate' => $startObj,
                                                                  'status'=> 'Accepting Candidates',
                                                                  'taxRate' => "",
                                                                  'taxStatus' => "",
                                                                  'title'  => $title,
                                                                  'travelRequirements' => "",
                                                                  'willRelocate' => "",
                                                                  'willSponsor' => "",
                                                                  'workersCompRateID' => "",
                                                                  'yearsRequired' => "",
                                                                ); */
                                                               
                                                               
                                                               
                                                                $query_array = array(
                                                                 
                                                                  'address' => "",
                                                                  'benefits' => "",
                                                                  'billRateCategoryID' => "",
                                                                  'bonusPackage' => "",
                                                                  'branchCode' => "",
                                                                  'certificationList' => "",
                                                                  'clientBillRate' => "",
                                                                  'clientContactID'=> 24656,
                                                                  'clientCorporationID'=> $API_currentSession->corporationId,
                                                                  'costCenter' => "",
                                                                  'customText1'  => $full_path,
                                                                  'dateAdded'     => $added,
                                                                  'dateClosed' => "",
                                                                  'dateEnd'  =>  $endObj,
                                                                  'dateLastExported'=> "",
                                                                  'degreeList' => "",
                                                                  'description'  => $description,
                                                                  'durationWeeks' => "",
                                                                  'educationDegree' => "",
                                                                  'employmentType' => 'permanent',
                                                                  'externalCategoryID' => "",
                                                                  'externalID' => "",
                                                                  'feeArrangement' => "",
                                                                  'hoursOfOperation' => "",
                                                                  'hoursPerWeek' => "",
                                                                  'isDeleted' => false,
                                                                  'isInterviewRequired' => "",
                                                                  'isJobcastPublished' => "",
                                                                  'isOpen' => true,
                                                                  'isSpecified' => true,
                                                                  'isPublic' => 1,
                                                                  'jobBoardList' => "",
                                                                  'numOpenings'  => $capacity,
                                                                  'optionsPackage' => "",
                                                                  'ownerID'  => new SoapVar($API_currentSession->userId, XSD_INTEGER, "int","http://www.w3.org/2001/XMLSchema"),
                                                                  'payRate' => "",
                                                                  'reasonClosed' => "",
                                                                  'reportTo' => "",
                                                                  'reportToClientContactID' => "",
                                                                  'salaryUnit' => "",
                                                                  'startDate' => $startObj,
                                                                  'status'=> 'Accepting Candidates',
                                                                  'taxRate' => "",
                                                                  'taxStatus' => "",
                                                                  'title'  => $title,
                                                                  'travelRequirements' => "",
                                                                  'willRelocate' => "",
                                                                  'willSponsor' => "",
                                                                  'workersCompRateID' => "",
                                                                  'yearsRequired' => ""
                                                                  );
                                                               
                                                               
                                                               
                                                               
                                                                // Create the DTO type that the API will understand by casting the array to the dtoQuery
                                                                // type that the query operation expects.
                                                                   $SOAP_query = new SoapVar($query_array, SOAP_ENC_OBJECT,"jobOrderDto", "http://job.entity.bullhorn.com/");
                                                                // $SOAP_query = new SoapVar($query_array, SOAP_ENC_OBJECT,"jobOrderDto", "http://query.apiservice.bullhorn.com/");
                                                   //  $SOAP_query = new SoapVar($query_array, SOAP_ENC_OBJECT,"dtoQuery", "http://query.apiservice.bullhorn.com/");
                                                               
                                                                // Put the DTO into a request object
                                                                $request_array = array (
                                                                'session' => $API_currentSession,
                                                                'dto' => $SOAP_query);
                                                               
                                                                // Cast the request as a query type
                                                                $SOAP_request = new SoapVar($request_array, SOAP_ENC_OBJECT, "save", "http://query.apiservice.bullhorn.com/");
                                                                // Use the query method to return the candidate ids
                                                                try {
                                                                                $queryResult = $BHclient->save($SOAP_request);
                                                                } catch (SoapFault $fault) {
                                                                                var_dump($BHclient->__getLastRequest());
                                                                                die($fault->faultstring);                                                                                                                                                               
                                                                }
                                                               
                                                                $API_currentSession = $queryResult->return->session;
                                                                $savedProject = $queryResult->return->dto;
                                                                $resultjson = array(
                                                                                'status' => 'TRUE',
                                                                                'message' => 'Successfully project added',
                                                                                'ProjectInfo'=> $savedProject
                                                                );
                                                                $data = json_encode($resultjson);
                                                                header('Content-Type: application/json');
                                                                echo $data;
                                                                exit;       
                                                }
                                                else
                                                {
                                                                $resultjson = array(
                                                                                'status' => 'FALSE',
                                                                                'message' => 'Image uploading error please try again',
                                                                                'ProjectInfo'=> ""
                                                                );
                                                                $data = json_encode($resultjson);
                                                                header('Content-Type: application/json');
                                                                echo $data;
                                                }
                                } catch (Exception $e) {
                                                echo 'Caught exception: ',  $e->getMessage(), "\n";
                                }
                }else{
                                $resultjson = array(
                                                'status' => 'FALSE',
                                                'message' => 'Please fill the project form complete',
                                                'ProjectInfo'=> ""
                                );
                                $data = json_encode($resultjson);
                                header('Content-Type: application/json');
                                echo $data;
                }
Last edited by yasirmalik on Wed Oct 05, 2016 1:25 pm, edited 1 time in total.

gwillmottBH
User
Posts: 75
Joined: Tue Apr 12, 2016 10:34 am

Re: Adding Job Order API - 02344873

Postby gwillmottBH » Wed Oct 05, 2016 1:16 pm

Hello Yasirmalik,

Do you happen to have the raw DTO you are using for the PHP below that is generating a Web Services (SOAP) Save?
Greg Willmott
Senior Enterprise Support Analyst
B U L L H O R N
Staffing and Recruiting Software, On Target, On Demand
100 Summer St., 17th Floor, Boston, MA 02210
617-478-9126 (US Support)
+44 800 032 2848 ext. 9131 (UK Support)

yasirmalik
User
Posts: 6
Joined: Mon Sep 19, 2016 3:27 pm

Re: Adding Job Order API - 02344873

Postby yasirmalik » Thu Oct 06, 2016 11:39 am

No, I am not using Raw DTO. The code that I have provided is all what I am using.
Similar code is working fine for other APIs, where I am fetching information from Bullhorn. But with this API, as I am trying to insert something in BullHorn DB, it's giving me error.
Can it be something with write permissions of my API user?

gwillmottBH
User
Posts: 75
Joined: Tue Apr 12, 2016 10:34 am

Re: Adding Job Order API - 02344873

Postby gwillmottBH » Fri Oct 14, 2016 1:44 pm

Hello Yasirmalik,

As this is an API forum not a PHP forum I can only troubleshoot if the API information is provided. A DTO is going to have to be used to pass this data through our Web services. If I had the Raw DTO for this issue I could dig in further. It is likely not the entitlement on the API user but the data in the JOB record as it is failing to write to the edit history table. Could be bad data, I'd need to see what is attempting to be saved.
Greg Willmott
Senior Enterprise Support Analyst
B U L L H O R N
Staffing and Recruiting Software, On Target, On Demand
100 Summer St., 17th Floor, Boston, MA 02210
617-478-9126 (US Support)
+44 800 032 2848 ext. 9131 (UK Support)


Return to “Webservices API”

Who is online

Users browsing this forum: No registered users and 3 guests