douershuang7356 2015-11-09 13:45
浏览 69
已采纳

Codeception SOAP API测试:实体异常中文档末尾的额外内容

I am trying to use Codeception to test my SOAP API calls but i ran into some problems. When trying to pass the auth header through haveSoapHeader() method i get:

[PHPUnit_Framework_Exception] DOMDocument::loadXML(): Extra content at the end of the document in Entity, line: 2

api.suite.yml:

class_name: ApiTester
modules:
    enabled:
        - \Helper\Api
        - PhpBrowser
        - SOAP
    config:
        PhpBrowser:
            url: 'http://localhost'
        SOAP:
            depends: PhpBrowser
            endpoint: http://localhost:888/soap

testCallCept.php:

$I = new ApiTester($scenario);
$I->wantTo('perform actions and see result');
$I->haveSoapHeader(
    'authenticate',
    array(
        'username' => 'test',
        'password' => 'test'
    )
);

$I->sendSoapRequest('testCall');

When running this test in debug mode i get the following:

C:\xampp\htdocs\xyz>php codecept.phar run api -d
Codeception PHP Testing Framework v2.1.3
Powered by PHPUnit 4.8.10 by Sebastian Bergmann and contributors.

←[1mApi Tests (1) ←[22m----------------------------------------------------------------------------------------------
Modules: ←[32m\Helper\Api, PhpBrowser, SOAP←[39m
------------------------------------------------------------------------------------------------------------
←[35;1mPerform actions and see result←[39;22m (testCallCept)
Scenario:
* I have soap header "authenticate",{"username":"test","password":"test"}
* I send soap request "test"

←[36m  [Request] <soapenv:Envelope xmlns:ns="" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">←[39m←[36m<authenticate>←[39m←[36m<username>←[39m←[36mtest←[39m←[36m</username>←[3
9m←[36m<password>←[39m←[36mtest←[39m←[36m</password>←[39m←[36m</authenticate>←[39m←[36m</soapenv:Header><soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><ns:testCall></ns:testCall></soapenv:Body></soapenv:Envelope>←[39m
←[36m  [Response] <br />
  <font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
  ←[39m←[36m<tr>←[39m←[36m<th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )←[39m←[36m</span>←[39m←[36m Warning: si←[39m
←[37;41m ERROR ←[39;49m

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------------------------------------------------------------------------------------


Time: 554 ms, Memory: 9.50Mb

There was 1 error:

---------
1) Failed to perform actions and see result in ←[1mtestCallCept←[22m (tests\api\\testCallCept.php)

←[37;41m                                                                                                                     ←[39;49m
←[37;41m  [PHPUnit_Framework_Exception] DOMDocument::loadXML(): Extra content at the end of the document in Entity, line: 2  ←[39;49m
←[37;41m                                                                                                                     ←[39;49m
←[33m
Scenario Steps:
←[39m
←[1m 2. $I->sendSoapRequest("test")←[22m at ←[32mtests\api\testCallCept.php:14←[39m
 1. $I->haveSoapHeader("authenticate",{"username":"test","password":"test"}) at ←[32mtests\api\testCallCept.php:12←[39m

#1  Codeception\Subscriber\ErrorHandler->errorHandler
#2  Codeception\Module\SOAP->sendSoapRequest
#3  C:\xampp\htdocs\xyz\tests\_support\_generated\ApiTesterActions.php:2067
#4  C:\xampp\htdocs\xyz\tests\api\testCallCept.php:14
#5  C:\xampp\htdocs\xyz\codecept.phar:7

←[37;41mFAILURES!←[0m
←[37;41mTests: 1←[0m←[37;41m, Assertions: 0←[0m←[37;41m, Errors: 1←[0m←[37;41m.←[0m

I have searched what could be the problem of it and stumbled upon a post saying that it happens when xml structure is not valid but as long as i can see the structure is how it is supposed to be so i really have no idea where to look next.

Anybody has any idea what could be the problem?

  • 写回答

1条回答 默认 最新

  • doujin8673 2015-11-09 14:25
    关注

    I had an error in SOAP server configuration and thus getting the error in SOAP response which i didn't notice at first.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三向应力状态求剪应力
  • ¥15 jupyter notebook如何添加libGL.so.1库
  • ¥20 easyPoi能否实现下拉多选或者复选框
  • ¥15 网桥在转发帧时,会变帧的源地址和目的地址吗?
  • ¥15 用Multisim设计汽车尾灯控制电路
  • ¥100 求用matlab求解上述微分方程的程序代码
  • ¥15 MAC安装佳能LBP2900驱动的网盘提取码
  • ¥400 微信停车小程序谁懂的来
  • ¥15 ATAC测序到底用什么peak文件做Diffbind差异分析
  • ¥15 安装ubantu过程中第一个vfat 文件挂载失败