[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: 500 Server Error
Turn on debugging so you can see what you are sending exactly.
What do you see in the debug log that you are sending? Does it match the soapui?
-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mauricio Diaz-Lapham
Sent: Thursday, April 18, 2013 3:47 PM
To: 'Scott Klement'; HTTPAPI and FTPAPI Projects
Cc: Adam Stemper
Subject: RE: 500 Server Error
Hi Scott,
Thanks for your input.
I think the problem is in the = http_url_post_xml(). I don't know exactly what the first parm and the last should be.
The variable SOAP is built of the SOAPui XML. I did a cut and paste.
There is no difference at all. Other than the parm I am passing in my program is a variable for the client ID.
(This is from soapui)
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:urn="urn:ActionWebService">
<soapenv:Header/>
<soapenv:Body>
<urn:get_client soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<client_id xsi:type="xsd:int">4023</client_id>
</urn:get_client>
</soapenv:Body>
</soapenv:Envelope>
This is the part that I think I have it wrong and I am not sure what to put in the first and last parms. This snip it of code is my last attempt and I am still getting the error that it can't convert the NilsClass() in the logs.
ReturnCode = http_url_post_xml(
'http://172.16.255.7:5001/client_smart/invoke'
: %addr(SOAP) + 2
: %len(SOAP)
: *NULL
: %paddr(Incoming)
: %addr(@ClientID)
: HTTP_TIMEOUT
: HTTP_USERAGENT
: 'text/xml'
: 'http://172.16.255.7:5001/client_smart/get_client');
'invoke_method_params?method=get_client&service=client_smart');
Any suggestions will be greatly appreciated.
Thank You,
Mauricio
-----Original Message-----
From: Scott Klement [mailto:sk@xxxxxxxxxxxxxxxx]
Sent: Thursday, April 18, 2013 3:36 PM
To: HTTPAPI and FTPAPI Projects
Cc: Mauricio Diaz-Lapham; Adam Stemper
Subject: Re: 500 Server Error
Hi Mauricio,
It does not matter what language a web service is written in. What
matters is that you send the data to the web service formatted correctly. As long as it gets the data it expects, it'll return the proper data in response.
I can't tell you where you might've made a mistake in your code, since I'm not familiar with the web service you're calling. Posting the WSDL would help a lot, here, because I could use the WSDL to see what's expected.
You say your data works in SoapUI. Well... what's the difference
between what SoapUI is sending and what your program is sending? That should tell you the solution.
On 4/18/2013 11:12 AM, Mauricio Diaz-Lapham wrote:
> Hello,
>
> I am getting the 500 internal error. On this web service.
> The log from the server that I am trying to consume the service is reporting that it can't convert the NilClass into String.
> It's in RUBY on RAILS class.
> This works in SOAPui.
>
> Thanks a bunch.
>
> Here is my program.
>
> d Setup pr
>
> d WebService pr 10i 0
>
> D Incoming PR
> d @ClientID 9000a
> D depth 10I 0 value
> D name 1024A varying const
> D path 24576A varying const
> D value 65535A varying const
> D attrs * dim(32767)
> D const options(*varsize)
>
> d GETCLTID pr ExtPgm('GETCLTID')
> d ClientID 5A
>
> d GETCLTID pi
> d ClientID 5A
> *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
> c*====================================================================
> c* Copybooks
> c*====================================================================
>
> /copy config_h
> /copy httpapi_h
>
> *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
> c* Stand Alone Fields
> d ErrMsg s 1024a varying
> d Soap s 32767a varying
> d @ClientID s 9000a
> d ReturnCode s 10i 0
>
> dVariableRecords...
> d ds Qualified
> d Number 10i 0
>
> c*====================================================================
> c* Main
> c*====================================================================
> /free
>
> Setup();
> /end-free
>
> *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
> **********************************************************************
> * Main processing - Call the Webservice to update CMA
> **********************************************************************
>
> /Free
>
> // Call the web service that will update the client smart file.
> ReturnCode = WebService();
> If ReturnCode <> 1;
> ErrMsg = http_error();
> ReturnCode = -1;
> Else;
> ErrMsg = 'HTTP/1.1 200 OK';
> EndIf;
> *inLr = *on;
> Return;
>
> /end-free
> c*====================================================================
> c* Setup();
> c*
> c* General setup.
> c*====================================================================
>
> p Setup b
> /free
>
> VariableRecords.Number = 4; // Number of keys.
>
> // Turn HTTP debug on or off
> http_debug(*ON);
> // Set the correct CCSID.
> http_setCCSIDs(1208:0);
>
> // Strip off back end CRLFs on the returned XMLs.
> http_XmlStripCRLF(*ON);
>
> /end-free
> p Setup e
>
> c*====================================================================
> c* WebService(); Call The Web Service.
> c*====================================================================
>
> p WebService b
> d WebService pi 10i 0
> /free
> Soap =
> '<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>'
> +'<soapenv:Envelope '
> +' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
> +' xmlns:xsd="http://www.w3.org/2001/XMLSchema"'
> +' xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" '
> +' xmlns:urn="urn:ActionWebService">'
> +' <soapenv:Header/>'
> +' <soapenv:Body>'
> +' <urn:get_client '
> +'soapenv:encodingStyle='
> +'"http://schemas.xmlsoap.org/soap/encoding/">'
> +' <client_id xsi:type="xsd:int">'+ClientID+'</client_id>'
> +' </urn:get_client>'
> +' </soapenv:Body>'
> +'</soapenv:Envelope>';
>
> // Consume the web service.
> ReturnCode = http_url_post_xml(
> 'http://172.16.255.7:5001/client_smart/api'
> : %addr(SOAP) + 2
> : %len(SOAP)
> : *NULL
> : %paddr(Incoming)
> : %addr(@ClientID)
> : HTTP_TIMEOUT
> : HTTP_USERAGENT
> : 'text/xml'
> : 'http://172.16.255.7:5001/client_smart/api/get_client');
>
> return ReturnCode;
> /end-free
> p WebService e
> c*====================================================================
> c* Incoming1();
> c* Parse the XML coming in to see what the client ID we received is.
> c*====================================================================
>
> p Incoming B
> d Incoming PI
> d @ClientID 9000a
> d depth 10i 0 value
> d name 1024a varying const
> d path 24576a varying const
> d value 65535a varying const
> d attrs * dim(32767)
> d const options(*varsize)
>
> D atof PR 8F extproc('atof')
> D string * value options(*string)
> /free
>
> if (name = 'get_Client');
> @ClientID = value;
> endif;
>
> /end-free
> p Incoming E
> -----------------------------------------------------------------------
> This is the FTPAPI mailing list. To unsubscribe, please go to:
> http://www.scottklement.com/mailman/listinfo/ftpapi
> -----------------------------------------------------------------------
>
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------