Server was unable to process request. --> Object reference not set to
an instance of an object.
For the tclsoap way I had to create a typedef for this operation. Is
there a way to do this in
web services or is my problem something else. I captured the packets
for each method
to see what was being transmitted and have included these in hopes
that I could be helped.
The command I am issuing is:
::WS::Client::DoCall servicename Login $args
where
args = Version 0.0 Number 0 Token {} Chksum 0 Timestamp {07/28/2007
08:50:26:000} TID 0 Un UN Pw PW
Thanks in Advance
**** START TCLSOAP WAY *****
POST /WS/WebServiceExtTest1/Service1.asmx HTTP/1.0
Accept: */*
Host: IPADDRESS
User-Agent: TclSOAP/1.6.7 (Windows NT)
SOAPAction: "http://IPADDRESS/WS/Login"
Content-Type: text/xml
Content-Length: 915
<?xml version='1.0'?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-
instance"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/
encoding/"
SOAP-ENV:encodingStyle="http://
schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<Login xmlns="http://IPADDRESS/WS">
<LoginRequest>
<Version xsi:type="xsd:string">0.0</Version>
<Number xsi:type="xsd:int">0</Number>
<Token xsi:type="xsd:string" xsi:nil="true"></Token>
<Chksum xsi:type="xsd:int">0</Chksum>
<Timestamp xsi:type="xsd:string">07/28/2007 08:50:26:000</Timestamp>
<TID xsi:type="xsd:string">0</TID>
<Un xsi:type="xsd:string">UN</Un>
<Pw xsi:type="xsd:string">PW</Pw>
</LoginRequest>
</Login>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
**** END TCLSOAP WAY *****
**** START WEBSERVICES WAY *****
POST /WS/WebServiceExtTest1/Service1.asmx HTTP/1.0
Accept: */*
Host: IPADDRESS
User-Agent: Tcl http client package 2.5.3
SOAPAction: http://IPADDRESS/WS/Login
Content-Type: text/xml
Content-Length: 383
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/
encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns1="http://IPADDRESS/WS">
<SOAP-ENV:Body>
<tns1:Login/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
**** END WEBSERVICES WAY *****
> ::WS::Client::DoCall servicename Login $args
>
> where
> args = Version 0.0 Number 0 Token {} Chksum 0 Timestamp {07/28/2007
> 08:50:26:000} TID 0 Un UN Pw PW
Ok, I have answered my own question. Strange how you put it to rest
and then the bulb goes off. I highly recommend the web services
package. It is disgustingly easy and covers all the bases. Kudos to
the author.
for the embedded structure or tags the args actually needed to look
like this:
args = LoginRequest {Version 0.0 Number 0 Token {} Chksum 0 Timestamp
{07/28/2007
> 08:50:26:000} TID 0 Un UN Pw PW}
Which then produces