Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Web Services

0 views
Skip to first unread message

jhwri...@gmail.com

unread,
Jul 28, 2007, 12:15:24 PM7/28/07
to
I have a program using the TCLSOAP package and it is/has worked fine
for several years.
I am interested in moving to the Web services package by Gerald Lester
at this time
because of some changes that will need to be made in the future.
Currently I have no problem
getting web services working with the googlesearch service and one of
the simple operations
in the WSDL provided by the vendor I am working with. One of the
operations is providing me
problems though and I am getting the following error returned by the
server:

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 *****

jhwri...@gmail.com

unread,
Jul 29, 2007, 4:23:54 PM7/29/07
to
On Jul 28, 12:15 pm, jhwright...@gmail.com wrote:

> ::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

0 new messages