View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0011992 | mantisbt | api soap | public | 2010-06-04 08:55 | 2010-12-17 04:37 |
| Reporter | AboeBakr | Assigned To | rombert | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | unable to reproduce | ||
| Product Version | 1.2.1 | ||||
| Summary | 0011992: g_cache_versions is null throwing error when adding issue | ||||
| Description | when adding an issue using soap, supplying a version triggers an error. temporary fix is checking if $g_cache_versions is null and creating empty array if so. | ||||
| Steps To Reproduce | add issue via soap | ||||
| Additional Information | <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> | ||||
| Tags | No tags attached. | ||||
| Attached Files | soap_input.xml (6,763 bytes)
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:man="http://futureware.biz/mantisconnect" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soapenv:Header/>
<soapenv:Body>
<man:mc_issue_add soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<username xsi:type="xsd:string">USERNAME</username>
<password xsi:type="xsd:string">PASSWORD</password>
<issue xsi:type="man:IssueData">
<!--You may enter the following 30 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">?</id>
<!--Optional:-->
<view_state xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">10</id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</view_state>
<!--Optional:-->
<last_updated xsi:type="xsd:dateTime"></last_updated>
<!--Optional:-->
<project xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">11</id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</project>
<!--Optional:-->
<category xsi:type="xsd:string">VALIDCAT</category>
<!--Optional:-->
<priority xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</priority>
<!--Optional:-->
<severity xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</severity>
<!--Optional:-->
<status xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</status>
<!--Optional:-->
<reporter xsi:type="man:AccountData">
<!--You may enter the following 4 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string">USERNAME</name>
<!--Optional:-->
<real_name xsi:type="xsd:string"></real_name>
<!--Optional:-->
<email xsi:type="xsd:string"></email>
</reporter>
<!--Optional:-->
<summary xsi:type="xsd:string">soap test</summary>
<!--Optional:-->
<version xsi:type="xsd:string">VALIDVERSIONNAME</version>
<!--Optional:-->
<build xsi:type="xsd:string"></build>
<!--Optional:-->
<platform xsi:type="xsd:string"></platform>
<!--Optional:-->
<os xsi:type="xsd:string"></os>
<!--Optional:-->
<os_build xsi:type="xsd:string"></os_build>
<!--Optional:-->
<reproducibility xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</reproducibility>
<!--Optional:-->
<date_submitted xsi:type="xsd:dateTime"></date_submitted>
<!--Optional:-->
<sponsorship_total xsi:type="xsd:integer"></sponsorship_total>
<!--Optional:-->
<handler xsi:type="man:AccountData">
<!--You may enter the following 4 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
<!--Optional:-->
<real_name xsi:type="xsd:string"></real_name>
<!--Optional:-->
<email xsi:type="xsd:string"></email>
</handler>
<!--Optional:-->
<projection xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</projection>
<!--Optional:-->
<eta xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</eta>
<!--Optional:-->
<resolution xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</resolution>
<!--Optional:-->
<fixed_in_version xsi:type="xsd:string"></fixed_in_version>
<!--Optional:-->
<description xsi:type="xsd:string">test adding issue via soap</description>
<!--Optional:-->
<steps_to_reproduce xsi:type="xsd:string"></steps_to_reproduce>
<!--Optional:-->
<additional_information xsi:type="xsd:string"></additional_information>
<!--Optional:-->
<attachments xsi:type="man:AttachmentDataArray" soapenc:arrayType="man:AttachmentData[]"/>
<!--Optional:-->
<relationships xsi:type="man:RelationshipDataArray" soapenc:arrayType="man:RelationshipData[]"/>
<!--Optional:-->
<notes xsi:type="man:IssueNoteDataArray" soapenc:arrayType="man:IssueNoteData[]"/>
<!--Optional:-->
<custom_fields xsi:type="man:CustomFieldValueForIssueDataArray" soapenc:arrayType="man:CustomFieldValueForIssueData[]"/>
</issue>
</man:mc_issue_add>
</soapenv:Body>
</soapenv:Envelope> soap_output.xml (10,331 bytes)
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode xsi:type="xsd:string">Server</faultcode>
<faultactor xsi:type="xsd:string"/>
<faultstring xsi:type="xsd:string"><![CDATA[Error Type: SYSTEM WARNING,
Error Description:
Invalid argument supplied for foreach(),
Stack Trace:
mc_issue_api.php L528 version_get_id(<string>'VALIDVERSIONNAME', <integer>11)
UnknownFile L? mc_issue_add(<string>'', <string>'PASSWORD', <Array> { ['id'] => 0, ['view_state'] => <Array> { ['id'] => 10, ['name'] => '' }, ['last_updated'] => '', ['project'] => <Array> { ['id'] => 11, ['name'] => '' }, ['category'] => 'Taxonomy', ['priority'] => <Array> { ['id'] => 0, ['name'] => '' }, ['severity'] => <Array> { ['id'] => 0, ['name'] => '' }, ['status'] => <Array> { ['id'] => 0, ['name'] => '' }, ['reporter'] => <Array> { ['id'] => 0, ['name'] => 'USERNAME', ['real_name'] => '', ['email'] => '' }, ['summary'] => 'soap test', ['version'] => 'VALIDVERSIONNAME', ['build'] => '', ['platform'] => '', ['os'] => '', ['os_build'] => '', ['reproducibility'] => <Array> { ['id'] => 0, ['name'] => '' }, ['date_submitted'] => '', ['sponsorship_total'] => 0, ['handler'] => <Array> { ['id'] => 0, ['name'] => '', ['real_name'] => '', ['email'] => '' }, ['projection'] => <Array> { ['id'] => 0, ['name'] => '' }, ['eta'] => <Array> { ['id'] => 0, ['name'] => '' }, ['resolution'] => <Array> { ['id'] => 0, ['name'] => '' }, ['fixed_in_version'] => '', ['description'] => 'test adding issue via soap', ['steps_to_reproduce'] => '', ['additional_information'] => '', ['attachments'] => <Array> { }, ['relationships'] => <Array> { }, ['notes'] => <Array> { }, ['custom_fields'] => <Array> { } })
nusoap.php L4002 call_user_func_array(<string>'mc_issue_add', <Array> { [0] => 'USERNAME', [1] => 'PASSWORD', [2] => <Array> { ['id'] => 0, ['view_state'] => <Array> { ['id'] => 10, ['name'] => '' }, ['last_updated'] => '', ['project'] => <Array> { ['id'] => 11, ['name'] => '' }, ['category'] => 'Taxonomy', ['priority'] => <Array> { ['id'] => 0, ['name'] => '' }, ['severity'] => <Array> { ['id'] => 0, ['name'] => '' }, ['status'] => <Array> { ['id'] => 0, ['name'] => '' }, ['reporter'] => <Array> { ['id'] => 0, ['name'] => 'USERNAME', ['real_name'] => '', ['email'] => '' }, ['summary'] => 'soap test', ['version'] => 'VALIDVERSIONNAME', ['build'] => '', ['platform'] => '', ['os'] => '', ['os_build'] => '', ['reproducibility'] => <Array> { ['id'] => 0, ['name'] => '' }, ['date_submitted'] => '', ['sponsorship_total'] => 0, ['handler'] => <Array> { ['id'] => 0, ['name'] => '', ['real_name'] => '', ['email'] => '' }, ['projection'] => <Array> { ['id'] => 0, ['name'] => '' }, ['eta'] => <Array> { ['id'] => 0, ['name'] => '' }, ['resolution'] => <Array> { ['id'] => 0, ['name'] => '' }, ['fixed_in_version'] => '', ['description'] => 'test adding issue via soap', ['steps_to_reproduce'] => '', ['additional_information'] => '', ['attachments'] => <Array> { }, ['relationships'] => <Array> { }, ['notes'] => <Array> { }, ['custom_fields'] => <Array> { } } })
nusoap.php L3691 invoke_method()
mantisconnect.php L1393 service(<string>'<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:man="http://futureware.biz/mantisconnect" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soapenv:Header/>
<soapenv:Body>
<man:mc_issue_add soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<username xsi:type="xsd:string">USERNAME</username>
<password xsi:type="xsd:string">PASSWORD</password>
<issue xsi:type="man:IssueData">
<!--You may enter the following 30 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">?</id>
<!--Optional:-->
<view_state xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">10</id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</view_state>
<!--Optional:-->
<last_updated xsi:type="xsd:dateTime"></last_updated>
<!--Optional:-->
<project xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer">11</id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</project>
<!--Optional:-->
<category xsi:type="xsd:string">VALIDCAT</category>
<!--Optional:-->
<priority xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</priority>
<!--Optional:-->
<severity xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</severity>
<!--Optional:-->
<status xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</status>
<!--Optional:-->
<reporter xsi:type="man:AccountData">
<!--You may enter the following 4 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string">USERNAME</name>
<!--Optional:-->
<real_name xsi:type="xsd:string"></real_name>
<!--Optional:-->
<email xsi:type="xsd:string"></email>
</reporter>
<!--Optional:-->
<summary xsi:type="xsd:string">soap test</summary>
<!--Optional:-->
<version xsi:type="xsd:string">VALIDVERSIONNAME</version>
<!--Optional:-->
<build xsi:type="xsd:string"></build>
<!--Optional:-->
<platform xsi:type="xsd:string"></platform>
<!--Optional:-->
<os xsi:type="xsd:string"></os>
<!--Optional:-->
<os_build xsi:type="xsd:string"></os_build>
<!--Optional:-->
<reproducibility xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</reproducibility>
<!--Optional:-->
<date_submitted xsi:type="xsd:dateTime"></date_submitted>
<!--Optional:-->
<sponsorship_total xsi:type="xsd:integer"></sponsorship_total>
<!--Optional:-->
<handler xsi:type="man:AccountData">
<!--You may enter the following 4 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
<!--Optional:-->
<real_name xsi:type="xsd:string"></real_name>
<!--Optional:-->
<email xsi:type="xsd:string"></email>
</handler>
<!--Optional:-->
<projection xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</projection>
<!--Optional:-->
<eta xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</eta>
<!--Optional:-->
<resolution xsi:type="man:ObjectRef">
<!--You may enter the following 2 items in any order-->
<!--Optional:-->
<id xsi:type="xsd:integer"></id>
<!--Optional:-->
<name xsi:type="xsd:string"></name>
</resolution>
<!--Optional:-->
<fixed_in_version xsi:type="xsd:string"></fixed_in_version>
<!--Optional:-->
<description xsi:type="xsd:string">test adding issue via soap</description>
<!--Optional:-->
<steps_to_reproduce xsi:type="xsd:string"></steps_to_reproduce>
<!--Optional:-->
<additional_information xsi:type="xsd:string"></additional_information>
<!--Optional:-->
<attachments xsi:type="man:AttachmentDataArray" soapenc:arrayType="man:AttachmentData[]"/>
<!--Optional:-->
<relationships xsi:type="man:RelationshipDataArray" soapenc:arrayType="man:RelationshipData[]"/>
<!--Optional:-->
<notes xsi:type="man:IssueNoteDataArray" soapenc:arrayType="man:IssueNoteData[]"/>
<!--Optional:-->
<custom_fields xsi:type="man:CustomFieldValueForIssueDataArray" soapenc:arrayType="man:CustomFieldValueForIssueData[]"/>
</issue>
</man:mc_issue_add>
</soapenv:Body>
</soapenv:Envelope>')]]></faultstring>
<detail xsi:type="xsd:string"/>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> | ||||
|
Can you look into this Robert? If it's a problem with the core API's, feel free to toss it back my way. Thanks. |
|
|
Sorry for missing this. @AboeBakr - can you please provide the XML message you're sending to the SOAP API and any customisations/patches applied? Thanks. |
|
|
I attached the soap input/output used for testing. as said, currently fixed by adding null check at start of mc_issue_add on $g_cache_versions if (is_null($g_cache_versions)) { |
|
|
I've just committed a couple of unit tests verifying the behaviour of the mc_issue_add call, you should see them attached to the issue. Also, I notice that $g_cache_versions is initialized in version_api.php at line 91, when the file is loaded, so that can't be null. Please reopen the issue with more information if you can provide it. |
|
|
MantisBT: master 78c2e76c 2010-08-19 18:58 Details Diff |
Add tests for creating issues with version set Tests for both proper version and faulty version have been added, to verify the issues reported in bug 0011992. |
Affected Issues 0011992 |
|
| mod - tests/soap/IssueAddTest.php | Diff File | ||
|
MantisBT: master-1.2.x 4de23659 2010-08-19 18:58 Details Diff |
Add tests for creating issues with version set Tests for both proper version and faulty version have been added, to verify the issues reported in bug 0011992. |
Affected Issues 0011992 |
|
| mod - tests/soap/IssueAddTest.php | Diff File | ||