[snichols] I'm working on a Tcl client to integrate to a web service. I have an example of how the SOAP envelope should look it is using two complex data types. I'd prefer to use Tcl SOAP then have to code the XML using tDOM and HTTP. Here's my Tcl code that generates a SOAP request envelop that's close but not good enough for the web service:
package require SOAP
package require rpcvar
namespace import -force rpcvar::typedef
typedef {
Username DATA
Password DATA
Nonce DATA
Created DATA
RemoteUser DATA
RemoteClient DATA
RemoteAddress DATA
EnvironmentalData DATA
SessionID DATA
} authentication
typedef {
Authentication authentication
ApplicationType DATA
RequestID DATA
WebUserID DATA
WebUserName DATA
PlanID DATA
EmployerID DATA
MemberID DATA
EntityType MEMBER
EntityReferenceNumber DATA
Password DATA
EncryptionMethod PLAINTEXT
InputMethodEditor TELEPHONE
} webUser
SOAP::create isWebUserAuthenticated -proxy "http://localhost/superSOAP/webcontrol.asmx" \
-action "http://www.atune.biz/web/services/WC/2006-01/isWebUserAuthenticated" \
-uri "http://www.atune.biz/web/services/WC/2006-01" \
-params {WebUser webUser}
When the soap method is called it generates this as the SOAP request :
IVRUSER
newPassword
TESTER
Apropos
127.0.0.1
MOL
157014233
RS
-1
-1
MEMBER
0
6149
PLAINTEXT
TELEPHONE
I need the SOAP above envelope to look like this working version (both are very close):
IVRUSER
newPassword
20060309T080101
TESTER
APROPOS
127.0.0.1
MOL
157014233
RS
-1
-1
MEMBER
0
6149
PLAINTEXT
TELEPHONE
Any ideas what I need to change in my TclSOAP command calls to make the SOAP envelope look like the latter XML above? Its currently generating the first XML. I notice a couple of things different. The latter has an Enabled="1" attribute and its not using the /ns: namespace. The latter envelop works.
Thanks in advance.
snichols.