Bug #67152 [NEW]: Abstract types do not have their concrete type specified in WSDL mode
| From: | josh at 6bit dot com | Date: | Tue, 29 Apr 2014 23:59:06 +0000 |
| Subject: | Bug #67152 [NEW]: Abstract types do not have their concrete type specified in WSDL mode | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-185508@lists.php.net to get a copy of this message | ||
From: josh at 6bit dot com
Operating system: All
PHP version: 5.4.27
Package: SOAP related
Bug Type: Bug
Bug description:Abstract types do not have their concrete type specified in WSDL mode
Description:
------------
See #39179, this issue still occurs in the latest and is no longer being
tracked.
This is common in stupid "enterprisey" SOAP services that use an empty
common abstract base type.
Here is the WSDL I am trying to use, you'll notice that the parameter
for the input message of the 'Get' operation is specified to be the
abstract SubscribeNetObjectReference type and I need to send in the
concrete AccountReference type:
https://manageruat.flexnetoperations.com/service/snetmgr/services/SubscribeNet/wsdl/SubscribeNet.wsdl
On a request using generated objects the xsi:type is set to
"AccountReference" properly:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="uri:subscribenet.intraware.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns2="uri:webservice.subscribenet.intraware.com">
<SOAP-ENV:Header>
<ns2:SessionHeader><ns2:SessionID>ee80aa73-385a-4936-beb9-95fb97e94a5675P/LFvqYa816cZ4AX/Qmm/Y</ns2:SessionID></ns2:SessionHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns2:Get>
<ns2:SubscribeNetObjectReference xsi:type="ns1:AccountReference">
<ns1:ID>ChrisTest</ns1:ID>
<ns1:AccountName xsi:nil="true"/>
</ns2:SubscribeNetObjectReference>
</ns2:Get>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
In WSDL mode it is not being set:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="uri:subscribenet.intraware.com"
xmlns:ns2="uri:webservice.subscribenet.intraware.com">
<SOAP-ENV:Header>
<ns2:SessionHeader><ns2:SessionID>ee80aa73-385a-4936-beb9-95fb97e94a5675P/LFvqYa816cZ4AX/Qmm/Y</ns2:SessionID></ns2:SessionHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns2:Get>
<ns2:SubscribeNetObjectReference>
<ns1:ID>ChrisTest</ns1:ID>
</ns2:SubscribeNetObjectReference>
</ns2:Get>
</SOAP-ENV:Body></SOAP-ENV:Envelope>
Expected result:
----------------
Need some way to specify the concrete base type.
--
Edit bug report at https://bugs.php.net/bug.php?id=67152&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=67152&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=67152&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=67152&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=67152&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=67152&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=67152&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=67152&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=67152&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=67152&r=support
Expected behavior: https://bugs.php.net/fix.php?id=67152&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=67152&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=67152&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=67152&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=67152&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=67152&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=67152&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=67152&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=67152&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=67152&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=67152&r=mysqlcfg