diff options
Diffstat (limited to 'demos/quickstart')
-rw-r--r-- | demos/quickstart/protected/pages/Services/SoapService.page | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/demos/quickstart/protected/pages/Services/SoapService.page b/demos/quickstart/protected/pages/Services/SoapService.page index 04dea07a..4a83c8ed 100644 --- a/demos/quickstart/protected/pages/Services/SoapService.page +++ b/demos/quickstart/protected/pages/Services/SoapService.page @@ -129,7 +129,33 @@ The tool requires a MS .NET runtime to be installed. </div>
<p>
-<tt>TSoapService</tt> may be configured and customized in several ways. In the example above, the <soap> element actually specifies a SOAP service using the default <tt>TSoapServer</tt> implementation. Attributes in <soap> are passed to <tt>TSoapServer</tt> as its initial property values. For example, the <tt>provider</tt> attribute initializes the <tt>Provider</tt> property of <tt>TSoapServer</tt>. By setting <tt>SessionPersistent</tt> to be true in <soap> element, the provider instance will persist within the user session. You may develop your own SOAP server class and use it by specifying the <tt>class</tt> attribute of <soap>.
+<tt>TSoapService</tt> may be configured and customized in several ways. In the example above, the <tt><soap></tt> element actually specifies a SOAP service using the default <tt>TSoapServer</tt> implementation. Attributes in <tt><soap></tt> are passed to <tt>TSoapServer</tt> as its initial property values. For example, the <tt>provider</tt> attribute initializes the <tt>Provider</tt> property of <tt>TSoapServer</tt>. By setting <tt>SessionPersistent</tt> to be true in <tt><soap></tt> element, the provider instance will persist within the user session. You may develop your own SOAP server class and use it by specifying the <tt>class</tt> attribute of <tt><soap></tt>.
+</p>
+
+<p>By default, PHP's soap server will create objects of the type <tt>StdClass</tt>
+when objects are received from the client. The soap server can be configured to
+automatically create objects of certain type objects are received as method
+parameters. For example, if we have a Soap method that accepts
+a <tt>Contact</tt> object as parameter.
+<com:TTextHighlighter Language="php" CssClass="source">
+/**
+ * @param Contact $contact
+ * @return boolean true if saved, false otherwise
+ * @soapmethod
+ */
+ function save(Contact $contact)
+ {
+ return true
+ }
+</com:TTextHighlighter>
+The do this, we need to set the <tt>ClassMaps</tt> property of
+the <tt>TSoapServer</tt> in the <tt><soap></tt> tags as
+a comma separated string of class names that we wish to be automatically
+converted.
+<com:TTextHighlighter Language="xml" CssClass="source">
+<soap id="contact-manager" provider="path.to.ContactManager"
+ ClassMaps="Contact, Address"/>
+</com:TTextHighlighter>
</p>
</com:TContent>
\ No newline at end of file |