Как исправить ошибку SimpleXMLElement в Laravel 5.7? - PullRequest
0 голосов
/ 06 марта 2019

Проблема:

Я хочу создать формат XML, подобный функции ниже, но когда я запускаю ее в почтальоне, я получаю следующую ошибку:

Исключение: Строка не может бытьразбирается как XML.

Как это исправить?

Скрипт:

Это моя функция:

public function testapi(Request $request){
    $url = "http://xxx.xx.x.xx:xxxx/xxxx/Activity?wsdl";
    $client = new \nusoap_client($url, 'wsdl');

    $xmlstr = '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:c1f="http://splwg.com/C1FieldActivityMaintenance.xsd">';

    $xml = new \SimpleXMLElement($xmlstr); 

    $header = $xml->addChild('Header');         
    $security = $header->addChild('wsse:Security', '', 'wsse');         
    $userToken = $security->addChild('wsse:UsernameToken');             
    $userToken->addChild('wsse:Username', env('Username', ''));           
    $userToken->addChild('wsse:Password', env('Password', ''));               


    $client = new Client();   
    $response = $client->post($url, [         
                    'headers' => [            
                        'SOAPAction' => $action,      
                        'Content-Type' => 'text/xml'          
                        ],          
                    'body' => $xml   
                ]);  

    return $response->getBody()->getContents();
}

1 Ответ

0 голосов
/ 06 марта 2019

$xmlstr не является действительным xml. Вы можете попробовать проверить это в

http://xmlbeautifier.com/

...