Go to Google Groups Home    phpsoa
Overzealous Errors

Adrian <anol...@gmail.com>

Hello all,

I have the following code which produces this error: Fatal error:
Uncaught SCA_RuntimeException: Namespace defined in @param not found
in @types annotation: 'subject' thrown in /usr/share/php5/SCA/
SCA_AnnotationReader.php on line 305

if I comment out line 305 I get a good WSDL file.

This seems to be somehow related to
http://groups.google.com/group/phpsoa/browse_thread/thread/1a6aeed8a1...
 because I have to move the include to the bottom of the page.

What is the latest status on this issue? Thanks,
Adrian

<?php
/**
 * @service
 * @binding.soap
 */
class WorkloadManager implements SplObserver {
        public static $status;
        /**
         * @param SplSubject $subject subject class to observe
         * @return bool
         */
        public function update(SplSubject $subject) {
                if($subject instanceof SplSubject) {
                        $this->status = $subject->status;
                        return TRUE;
                }else {
                        return FALSE;
                }
        }

}

include "SCA/SCA.php";
?>

<wsdl:definitions targetNamespace="http://WorkloadManager">
<wsdl:types>
<xs:schema targetNamespace="http://WorkloadManager"
elementFormDefault="qualified">
<xs:element name="update">
<xs:complexType>
<xs:sequence>
<xs:element name="subject" type=":SplSubject"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="updateResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="updateReturn" type="xs:bool"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="updateRequest">
<wsdl:part name="updateRequest" element="tns2:update"/>
</wsdl:message>
<wsdl:message name="updateResponse">
<wsdl:part name="return" element="tns2:updateResponse"/>
</wsdl:message>
<wsdl:portType name="WorkloadManagerPortType">
<wsdl:operation name="update">
<wsdl:input message="tns2:updateRequest"/>
<wsdl:output message="tns2:updateResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="WorkloadManagerBinding"
type="tns2:WorkloadManagerPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document"/>
<wsdl:operation name="update">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="WorkloadManagerService">
<wsdl:port name="WorkloadManagerPort"
binding="tns2:WorkloadManagerBinding">
<soap:address location="http://workhorse.buttermaker.phptest/
WorkloadManager.php"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
<!--
 this line identifies this file as WSDL generated by SCA for PHP. Do
not remove
-->