The following operations are supported. For a formal definition, please review the Service Description.
namespace eval ::mywebservice { variable bindMap {https://www.semitasker.com/mywebservice/testitOperation testitOperation https://www.semitasker.com/mywebservice/EchoSymbolOperation EchoSymbolOperation https://www.semitasker.com/mywebservice/EchoCodeOperation EchoCodeOperation https://www.semitasker.com/mywebservice/EchoOperation EchoOperation https://www.semitasker.com/mywebservice/AddNumbersOperation AddNumbersOperation https://www.semitasker.com/mywebservice/MultiplyNumbersOperation MultiplyNumbersOperation https://www.semitasker.com/mywebservice/helloOperation helloOperation https://www.semitasker.com/mywebservice/helloWorldOperation helloWorldOperation https://www.semitasker.com/mywebservice/EchoByteOperation EchoByteOperation https://www.semitasker.com/mywebservice/TestDecimalValueOperation TestDecimalValueOperation https://www.semitasker.com/mywebservice/testStringOperation testStringOperation} variable binding soap::documentLiteral variable bindingName mywebserviceSoapBind variable documentLinks {config ::mywebservice simpleTypes ::wsdb::types::mywebservice complexTypes ::wsdb::elements::mywebservice messages ::wsdb::messages::mywebservice operations ::wsdb::operations::mywebservice portTypes ::wsdb::portTypes::mywebservice port ::wsdb::ports::mywebservicePort binding ::wsdb::bindings::mywebserviceSoapBind service ::wsdb::services::mywebserviceService server ::wsdb::servers::mywebserviceServer} variable elements set elements(testStringRequest) {{ MyString MyOtherString MyThirdString } {MyString MyOtherString MyThirdString}} set elements(EchoRequest) {{ Input } Input} set elements(EchoCodeResponse) {Code:mywebservice::code Code} set elements(EchoByteResponse) {ByteAsIntegerOut:mywebservice::Byte ByteAsIntegerOut} set elements(helloWorldResponse) {{ Say } Say} set elements(helloResponse) {Yeah Yeah} set elements(EchoByteRequest) {{ ByteAsIntegerIn:mywebservice::Byte } ByteAsIntegerIn} set elements(testitResponse) {{A:string B:string C:string} {A B C}} set elements(TestDecimalValueRequest) {{ StringToTest } StringToTest} set elements(MultiplyNumbersRequest) {{ {FirstDecimal:decimal {default "0.0" minOccurs 0}} {SecondDecimal:decimal {default "0.0" minOccurs 0}} } {FirstDecimal SecondDecimal}} set elements(testitRequest) {{ {a:xsd::string} {b {default "ooo" minOccurs 0}} {c:string {default "xxx" minOccurs 0}} } {a b c}} set elements(TestDecimalValueResponse) {{ {StringToTest} {IsTestDecimal:boolean} {CanonicalValue:mywebservice::TestDecimal {minOccurs 0}} {ErrorString} }} set elements(MultiplyNumbersResponse) {Product:decimal Product} set elements(EchoCodeRequest) {{ {Code:mywebservice::code} } Code} set elements(EchoSymbolResponse) {Symbol:mywebservice::symbol Symbol} set elements(AddNumbersResponse) {Sum:xsd::integer Sum} set elements(helloWorldRequest) {{} {}} set elements(helloRequest) {who who} set elements(testStringResponse) {{ MyString ErrorForMyString MyString2 ErrorForMyString2 MyString3 ErrorForMyString3 } {MyString ErrorForMyString MyString2 ErrorForMyString2 MyString3 ErrorForMyString3}} set elements(EchoSymbolRequest) {{ {Symbol:mywebservice::symbol} } Symbol} set elements(EchoResponse) {{ Output } Output} set elements(AddNumbersRequest) {{ {FirstNum:integer {default "0" minOccurs 0}} {SecondNum:integer {default "0" minOccurs 0}} } {FirstNum SecondNum}} variable frozen 1 variable host www.semitasker.com variable hostHeader www.semitasker.com variable hostHeaderList www.semitasker.com variable operation testStringOperation variable operations {testitOperation EchoSymbolOperation EchoCodeOperation EchoOperation AddNumbersOperation MultiplyNumbersOperation helloOperation helloWorldOperation EchoByteOperation TestDecimalValueOperation testStringOperation} variable port 80 variable portName mywebservicePort variable portType mywebservicePortType variable protocol https variable schemaIsInitialized 1 variable serverName mywebserviceServer variable serviceName mywebserviceService variable showDocument 1 variable soapActionBase https://www.semitasker.com/mywebservice variable targetNamespace urn:tcl:mywebservice variable tclNamespace ::mywebservice variable types set types(myString3) {base xsd::string restrictionList {pattern {\A[0-7]+\Z} maxLength 8}} set types(Byte) {base xsd::integer restrictionList {minInclusive -127 maxInclusive 127}} set types(myString) {base xsd::string restrictionList {length 10}} set types(TestDecimal2) {base xsd::integer restrictionList {pattern {[0-9]{1,4}} minInclusive 4 maxInclusive 9765}} set types(TestInteger) {base xsd::integer restrictionList {fractionDigits 0 totalDigits 7}} set types(TestDecimal3) {base xsd::decimal restrictionList {totalDigits 4 fractionDigits 0}} set types(symbol) {base xsd::string enum {MSFT WMT XOM GM F GE }} set types(myString2) {base xsd::string restrictionList {minLength 4 maxLength 25}} set types(TestDecimal4) {base mywebservice::TestDecimal restrictionList {totalDigits 4}} set types(TestDecimal) {base xsd::decimal restrictionList {minExclusive -321.01 maxInclusive 456.78 totalDigits 5 fractionDigits 2}} set types(code) {base xsd::integer pattern {[0-9]{4}}} variable url /twist/ws/mywebservice/ variable xmlPrefix mywebservice }
proc ::mywebservice::TestDecimalValue { StringToTest } { set IsTestDecimal [::wsdb::types::mywebservice::TestDecimal4::validate $StringToTest errorList canonList] if {$IsTestDecimal} { set CanonicalValue [join $canonList ""] set ErrorString "No Error" } else { set CanonicalValue "" set ErrorString [join $errorList] } return [list $StringToTest $IsTestDecimal $CanonicalValue $ErrorString] } proc ::mywebservice::helloWorld { } { return "Hello World!" } proc ::mywebservice::hello { who } { return "Hello $who" } proc ::mywebservice::MultiplyNumbers { {FirstDecimal 0.0} {SecondDecimal 0.0} } { return [expr $FirstDecimal * $SecondDecimal] } proc ::mywebservice::AddNumbers { {FirstNum 0} {SecondNum 0} } { return [expr $FirstNum + $SecondNum] } proc ::mywebservice::EchoSymbol { Symbol } { return $Symbol } proc ::mywebservice::testit { a {b ooo} {c xxx} } { return [list $a $b $c] } proc ::mywebservice::EchoCode { Code } { return $Code } proc ::mywebservice::testString { MyString MyOtherString MyThirdString } { set IsMyString [::wsdb::types::mywebservice::myString::validate $MyString errorList] if {$IsMyString} { set ErrorForMyString "No Error in MyString" } else { set ErrorForMyString [join $errorList] } set IsMyString2 [::wsdb::types::mywebservice::myString2::validate $MyOtherString errorList2] if {$IsMyString2} { set ErrorForMyString2 "No Error in MyString" } else { set ErrorForMyString2 [join $errorList2] } set IsMyString3 [::wsdb::types::mywebservice::myString3::validate $MyThirdString errorList3] if {$IsMyString3} { set ErrorForMyString3 "No Error in MyString" } else { set ErrorForMyString3 [join $errorList3] } return [list $MyString $ErrorForMyString $MyOtherString $ErrorForMyString2 $MyThirdString $ErrorForMyString3] } proc ::mywebservice::EchoByte { ByteAsIntegerIn } { return [list $ByteAsIntegerIn] } proc ::mywebservice::Echo { Input } { return "$Input" }