Thanks to both of you, Matt and Fred.

My comments below..

1)      <WS NAME>àTake a look at the actual WSDL web page towards the
bottom. Remedy adds “Service” to the end of the Web Service you created.
So if you named your web service: “JASON_WEBSErvice”
The URI would actually be: JASON_WEBSErviceService

>>> Correct, thanks for pointing this out; although this was NOT the source
of the error.

2)      Looks like your passing authentication info:
If you’re going to do that you need to pass Authentication information as
well:

>> Not necessary to pass Authentication Info. It is optional. UN and PWD are
sufficient.

3) This is an array, and should be a string:
>>> Incorrect.  It has (or can be) to be an array, since we can also pass ..
SOAP::Data->name(startRecord)->value("0"),
SOAP::Data->name(maxLimit)->value("10")
..as parameters.


Also I think you need to pass the Type as well:
>> Perhaps, but i think it is optional

I think ‘Qualification’ needs to be an actual field on the form as well.
>> Incorrect. Qualification is equivalent to 'Advanced search' which is a
<fieldname> <operator> <value> [AND/OR <fieldname> <operator> <value>]
ex: 'Modified Date' >= "09/24/2008"


Do you have the environment variables: HTTPS_CERT_FILE, HTTPS_KEY_FILE set
up on your machine?
>> Not necessary (i think). The script ran fine without any of these being
set. (although, i did get a warning that client key could not be found -- I
did get results)

Also, Have you looked at the Mid-Tier Logs to see if they give any more
information on the error?
>> This did not provide any more information.

I usually use soapUI to test out the structures needed for my web services
before putting them into something like Perl
>> Great Tip! This did it for me.

Resolution:
1. When using qualification, use remedy database names (with the spaces etc)
and not the remedy labelnames (what you see on the form). In this case, the
remedy field in question was 'Modified Time' (database name) but the
labelname was 'Modified Date' (labelname) and I was using labelname in the
qualification before.

So I finally changed the qualification to thus --

@data = (
     SOAP::Data->name(Qualification)->value("'Modified
Time>=\"09\/24\/2010\"")->type('xsd:string'), #use database name
   SOAP::Data->name(startRecord)->value("0"), #note -- this is optional
    SOAP::Data->name(maxLimit)->value("10") #note -- this is optional
);

and Voila!!

I appreciate your quick help in this regard, Fred & Matt ... it helped me
figure out what was the issue.

-- 
Thanks,
Jason



On Wed, Oct 13, 2010 at 8:08 PM, Grooms, Frederick W <
frederick.w.gro...@xo.com> wrote:

> Do you have the environment variables: HTTPS_CERT_FILE, HTTPS_KEY_FILE set
> up on your machine?  I believe they are required for the HTTPS
> communication.  Also, Have you looked at the Mid-Tier Logs to see if they
> give any more information on the error?
>
> I usually use soapUI to test out the structures needed for my web services
> before putting them into something like Perl.
>
> Fred
>
> -------Original Message-------
> From: Action Request System discussion list(ARSList) [mailto:
> arsl...@arslist.org] On Behalf Of Jason Alexander
> Sent: Wednesday, October 13, 2010 7:27 AM
> To: arslist@ARSLIST.ORG
> Subject: ARSPERL SOAP webservice consumption error
>
>  Hi List,
>
> ARS 7.1p8
> MT 7.1p8
>
> I am trying to consume a webservice via ARS PERL (written in EPIC IDE)
> using Activestate PERL installed on my win xp sp2 laptop. I have installed
> SOAP::Lite package and Crypt::SSLeaY package for SOAP calls over HTTPS.
>
> Here is the code --
>
> ===================
>
> use SOAP::Lite;
> my $username = 'xxx';
> my $password = 'xxx';
>
> my $proxy='https://<MT server>/ars/services/ARService?server=<APP
> SERVER>&webService=<WS NAME>';
> my $uri = "<WS NAME>";
>
> my $soap = new SOAP::Lite
>         proxy=>$proxy,
>         uri=>$uri,
>         readable=>'1',
>         autotype=>0;
>
> my $header = SOAP::Header->name('AuthenticationInfo' =>
>           \SOAP::Header->value(
>               SOAP::Header->name('userName' => $username)->type(''),
>               SOAP::Header->name('password' => $password)->type(''),
>             )
>         );
>
> @data = (
>           SOAP::Data->name(Qualification)->value("'Modified_Date'
> >=\"09\/24\/2008\"")
>
> $res=$soap->OpGetList($header,@data);
>
> ===================
> but I am getting the following error when I try running this program:
>
> Fault :java.lang.NullPointerException
> SOAP::Data::DESTROY: ()
> SOAP::SOM::DESTROY: ()
> Faultcode :soapenv:Server.userException
>
> The OpGetList method is configured to accept a query string and return the
> result.
> User has the proper privileges to view the form in question & query for
> records.
>
> Can anybody help?
>
> --
> Thanks,
> Jason
>
>
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
> attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"
>

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: "Where the Answers Are"

Reply via email to