diff --git a/src/Silverpop/EngagePod.php b/src/Silverpop/EngagePod.php index ba34098..1cb6260 100644 --- a/src/Silverpop/EngagePod.php +++ b/src/Silverpop/EngagePod.php @@ -710,6 +710,8 @@ private function _httpPost($fields) { * */ private function _getErrorFromResponse($response) { + if (isset($response['Envelope']['Body']['RESULT']['FAILURES'])) { + return json_encode($response['Envelope']['Body']['RESULT']['FAILURES']); if (isset($response['Envelope']['Body']['Fault']['FaultString']) && !empty($response['Envelope']['Body']['Fault']['FaultString'])) { return $response['Envelope']['Body']['Fault']['FaultString']; } @@ -721,6 +723,10 @@ private function _getErrorFromResponse($response) { * */ private function _isSuccess($result) { + if (isset($result['FAILURES']) and (bool)count($result['FAILURES'])) { + return false; + } + if (isset($result['SUCCESS']) && in_array(strtolower($result["SUCCESS"]), array('true', 'success'))) { return true; } diff --git a/src/Silverpop/Util/ArrayToXml.php b/src/Silverpop/Util/ArrayToXml.php index 50fd69d..c24344f 100644 --- a/src/Silverpop/Util/ArrayToXml.php +++ b/src/Silverpop/Util/ArrayToXml.php @@ -51,7 +51,6 @@ function _processArray( &$array, $level = 0, $parent = '' ) { if ( isset( $this->_attribs[$tlevel][$name][$this->_rep[$name] - 1] ) && is_array( $this->_attribs[$tlevel][$name][$this->_rep[$name] - 1] ) ) { foreach ( (array) $this->_attribs[$tlevel][$name][$this->_rep[$name] - 1] as $aname => $avalue ) { - unset( $value[$aname] ); $attrs .= " $aname=\"$avalue\""; } }