IPCC Express 4.0 web services

Unanswered Question
Oct 22nd, 2007
User Badges:

Hi

I've tried really hard get this working.

There is simple web service application, I'm trying to POST a request to it and receive a response.

I have read all conversation about this in the forum.

In my script I'm using


-create URL document

-Create XML document

-Get XML document data


But with this scenario every time I try to send the request to web service I get error 500 in debugs .

This is a very simple web application which response to any request with and integer “1”

The web service URL is :

http://x.x.x.x/PolPortal_1/_WebService/IPPhone.asmx?op=ADSLInfo

I also tried this URL

"http://x.x.x.x/PolPortal_1/_WebService/IPPhone.asmx?wsdl"

My developer says this is an SOAP web service and it will response in following XML format

The value 1 is in <ADSLInfoResult>


<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/2001/XMLSchema">

<soap:Body>

<ADSLInfoResponse xmlns="http://tempuri.org/">

<ADSLInfoResult>1</ADSLInfoResult>

</ADSLInfoResponse>

</soap:Body>

</soap:Envelope>


So I use only <ADSLInfoResult> in my “GET XML DOCUMENT DATA “ step for xpath

This entire step goes fine with another application and the web service response with 1. But anytime I try to do this with CRS editor I get 500 which is “internal server error”.

I am a newbie on web services so I don't know if there is anything wrong with my configuration or my developer is trying to get advantage of my lack of knowledge on this field so she can hide her lack of knowledge


Please help.


  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (1 ratings)
Loading.
sadbulali Fri, 10/26/2007 - 06:26
User Badges:
  • Bronze, 100 points or more

Application of ivr-icd-aa.2-2-5spB.exe fixed the problem. In earlier versions of OS, MS Hotfix Q247450 was simply removed to alleviate this symptom.

mohsenlotfi Sun, 10/28/2007 - 22:35
User Badges:

HI

sorry for late reply .

where can i find this application ?

is this a hotfix for IPCC or WIN OS , in the ipcc i cant find anything else but CRA 4.0(5)SR1


I will vote helpfull reply .

msmalley Mon, 10/29/2007 - 19:04
User Badges:

It has been my experience that CRS doesn't like the SOAP or namespace information in the XML document that it recieves from the web service. However before you tell you developer to change her web service I would do this. First fix your XPATH string it should be /descendant::ADSLInfoResponse/child::ADSLInfoResult

this will/should return a 1 in the variable when you execute Get XML Document Data. But I don't think it will work because of the SOAP header and the name space information. To test this save the results of the web service to a static xml document. Point your script to the new document instead of the web service and test it. Remove the SOAP info and the namespace information as needed to get it to work. I have also had major issues with doing a POST to a .net web service. What we found was the script step would append a null character /u to the post and the web service would choke. Once we changed to GET it would work.



See this for more information on creating an XPATH for CRS.

Please Rate helpful posts.


Regards,

MICHAEL F. OLYMPH Sun, 06/29/2008 - 06:29
User Badges:

Can I ask if somebody was able to get it to work?

I'm facing simular issues, what was the detailed config from the:


-create URL document

-Create XML document

-Get XML document data


I'm getting always a 500 error:


I/O exception from caching document: Server returned HTTP response code: 500 for URL: http://xxx.xxx.xxx


Rgds

Chad Stachowicz Sun, 06/29/2008 - 08:25
User Badges:
  • Silver, 250 points or more

I take the route of sending the SOAP request and parsing it all within my own java class, then returning necessary info to IPCC Express... doing it your way confines you to the steps and their limitations in CRA. I will be posting a class that handles SOAP in java today or tomorrow... I just wrote it in PERL an am porting it to java now. Its very small but should give people what they need to expand it!


Cheers,


Chad

Chad Stachowicz Sun, 06/29/2008 - 21:21
User Badges:
  • Silver, 250 points or more

As I planned I write that class file today.. here is a java class that does SOAP! I am also no java expert, so if you can improve please do! Just resend it to me!


Please rate helpful posts!



Cheers,


Chad



Anthony Holloway Mon, 06/30/2008 - 11:54
User Badges:
  • Purple, 4500 points or more

Chad,


This is a great help to many of us, thank you.


Any chance at seeing your set step expression you use in the script?


Chad Stachowicz Thu, 07/03/2008 - 08:24
User Badges:
  • Silver, 250 points or more

Guys,


This is a standard java class file. Compile it with jre 1.4.2 (IPCC Express Version 4.5) check jre on your specific version of IPCC Express.


javac SoapQUERY.java <--comile


then jar the file


jar -help


after this you upload it under the data files under the system menu on IPCC Express.



Now within the CRA Script editor you can use this class and method. You guys need to modify the java code to send and recieve the SOAP XML format that fits your situation, this is a framework and example.



Cheers,


Chad

MICHAEL F. OLYMPH Thu, 07/03/2008 - 10:40
User Badges:

Hi Chad,


The jar file creation is not the issue, but how did you use the class & method in the editor?

Did you use the "Execute Java Method"?


Thx

Anthony Holloway Thu, 07/03/2008 - 10:49
User Badges:
  • Purple, 4500 points or more

you would use the class in a set step.


you must have a String variable already created, and this is the variable you use in the set step's variable field.


In the set step's value field, click the ellipse and open the expression editor.


in the expression editor you want to use something like this to call the DOiT method of the SOAPReq object from the class:


{

return SOAPReq.DOiT();

}


This will stuff (if successful) "test" into your String variable.


You will need to heavily modify Chad's java class for your own use, as he has hard coded a lot of the values which pertain to his environment.


One thing you would want is to return the value returned by the SOAP response, not just "test".


I should make it clear that I have not used Chad's java class yet, but I have been doing quite a bit of work with using java classes in scripts this week.

Chad Stachowicz Thu, 07/03/2008 - 12:04
User Badges:
  • Silver, 250 points or more

avholloway is absolutely correct. I actually wrote this as a much bigger project, and I copy and pasted / modified it down to something that was small and shareable :) Only use it as a template, and a proof of concept..


Chad

Actions

This Discussion