SOAP Client: <script language="bee"> include "common/soap.bs"; include "common/xml.bs"; var person = "{sys%form:person}"; if ({#person:}) { soapsend soap_location="http://samples.bee.net.au/soapserver.htm" soap_operation="GetPersonRecord" person="{person}"; var response = new xml xmldoc="{result%soapsend}"; if ({status%new}) { display "{message%new}\n"; } else { response%searchnode criteria="(array)localpart=>PersonRecord"; response%getnode node="{result%searchnode}"; display "Result: Person {person}: {result%getnode:value}\n"; response%dump; } } </script> SOAP Server: <script language="bee"> include "common/obj.bs"; include "common/xml.bs"; var requestPosted = "{sys%post:data}"; if ({#requestPosted:}) { var request = new xml xmldoc="{requestPosted}"; request%searchnode criteria="(array)localpart=>GetPersonRecord" count=""; if ({#result%searchnode} == 0) exit; foreach (result%searchnode) { request%getnode node="{foreach}"; request%setnode node="{foreach}" localpart="PersonRecordResponse" tag="{result%getnode:prefix}:PersonRecordResponse"; } request%searchnode criteria="(array)localpart=>person"; if ({#result%searchnode} == 0) exit; var node = "{result%searchnode}"; request%getnode node="{node}"; var person = "{result%getnode:value}"; database dbres query="select * from PhoneBook where Name like '%{person}%'"; var rec = "(db)dbres"; var prefix = "{result%getnode:prefix}:" conv="if:{#result%getnode:prefix}"; request%setnode node="{node}" value="{rec:Name} Tel:{rec:Tel}" localpart="PersonRecord" tag="{prefix}PersonRecord"; request%xmldoc; display '{result%xmldoc}\n'; } </script>
Back home