Bug #67152 [Opn->Asn]: Abstract types do not have their concrete type specified in WSDL mode

From: Date: Wed, 21 Oct 2015 22:00:09 +0000
Subject: Bug #67152 [Opn->Asn]: Abstract types do not have their concrete type specified in WSDL mode
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-196734@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67152&edit=1 ID: 67152 Updated by: dmitry@php.net Reported by: josh at 6bit dot com Summary: Abstract types do not have their concrete type specified in WSDL mode -Status: Open +Status: Assigned Type: Bug Package: SOAP related Operating System: All PHP Version: 5.4.27 -Assigned To: +Assigned To: dmitry Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2014-04-29 23:59:05] josh at 6bit dot com 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 this bug report at https://bugs.php.net/bug.php?id=67152&edit=1

« previous php.bugs (#196734) next »