[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question regarding SOAP



Hello Sunil,

If you call  http_XmlReturnPtr(*ON) prior to parsing your XML, the 
"EndElement" routine will be passed a data structure instead of a 
VARYING field for the value field.

The DS will be laid out as follows:

       D value_t         ds
       D   data                          *
       D   len                         10i 0

In this scenario, you have to code pointer logic (which many folks don't 
like to do) but you can get back large amounts of data (up to approx 16mb)


Gonchigar, Sunil wrote:
> Doing a follow up on this. 
> 
> 1.XML-INTO was able to load the data elements into a data structure fine up until it encountered the special character in one of the element. The special character is – hex(62207F) for hyphen(-). XML-INTO didn't error on <>  or on  "'s"
> 
> I used http_parse_xml_stmf and then XML-INTO 
> 
> 2. Any suggestions on how to get more data in "EndofElement" Procedure. The procedure currently gets 65535A in the "value" field. The data in the IFS file is greater than that. 
> 
> Appreciate your response.
> 
> 
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Gonchigar, Sunil
> Sent: Friday, November 06, 2009 3:11 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: RE: Question regarding SOAP
> 
> Thank you for the response. 
> 
> -----
> Here is SoapUI  - Request
> -----
> 
> POST http://bpmdev.hdc.net:9086/prweb/PRSOAPServlet HTTP/1.0
> Accept-Encoding: gzip,deflate
> Content-Type: text/xml;charset=UTF-8
> SOAPAction: "urn:PegaRULES:SOAP:CARDSReferenceService:Services#CARDSReferenceGateway"
> User-Agent: Jakarta Commons-HttpClient/3.1
> Host: bpmdev.hdc.net:9086
> Content-Length: 665
> 
> <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:PegaRULES:SOAP:CARDSReferenceService:Services">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <urn:CARDSReferenceGateway soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";>
>          <inputXML xsi:type="xsd:string"><![CDATA[<BPMSERVICEREQUEST><REQUESTORID>THC</REQUESTORID><ACCESSKEY>lertqon3ccd!98s82*3awq</ACCESSKEY><METHODNAME>GETEDITLIST</METHODNAME></BPMSERVICEREQUEST>]]></inputXML>
>       </urn:CARDSReferenceGateway>
>    </soapenv:Body>
> </soapenv:Envelope>
> 
> -------
> SOAPUI  - Resposnse.  Removed some lines from the <output> to keep it short
> -------
> 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:xsd="http://www.w3.org/2001/XMLSchema";>
>    <SOAP-ENV:Body>
>       <ns:CARDSReferenceGatewayResponse SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:ns="urn:PegaRULES:SOAP:CARDSReferenceService:Services">
>          <outputXML xsi:type="xsd:string"><![CDATA[<?xml version="1.0" encoding="UTF-8" ?><Edits><Edit><EditID>IAD020_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:59.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>2</Severity><Title>Single MCC</Title><DisplayID>IAD020</DisplayID><Description>Only one MCC  was assigned on this case.  Please review the record to validate that it is appropriate to report the solitary MCC.  Also validate that the principal diagnosis and any procedures were assigned correctly.</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD020_01</EditID><EffectiveDate>2009-10-01T00:00:00</EffectiveDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>2</Severity><Title>Single MCC</Title><DisplayID>IAD020</Displ
ayID><Description>Only one MCC  was assigned on this case.  Please review the record to validate that it is appropriate to report the solitary MCC.  Also validate that the principal diagnosis and any procedures were assigned correctly.</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-11-05T14:45:56.450</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD040_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:59.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>2</Severity><Title>Single CC</Title><DisplayID>IAD040</DisplayID><Description>Only one CC was assigned on this case.  Please review the record to validate that it is appropriate to report the solitary CC.  Also validate that the principal diagnosis and any procedures were assigned correctly.</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>
2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</La
> stUpdatedBy></Edit><Edit><EditID>IAD060_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:59.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>1</Severity><Title>GI disorder w/o hemorrhage and blood loss anemia</Title><DisplayID>IAD060</DisplayID><Description>Blood loss anemia and gastritis without hemorrhage are assigned.  Review the record for a suspected source of the hemorrhage. Although the combination code for Gastritis with hemorrhage should not be assigned unless there is a causal relationship established, per CC 2Q 1992, active bleeding does not have to be present for the physician to diagnose a GI hemorrhage.</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD080_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:5
9.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>2</Severity><Title>Pleural effusion and CHF</Title><DisplayID>IAD080</DisplayID><Description> Pleural effusion is not usually reported in cases of CHF/Left heart failure, as, it is commonly seen in this disease. Ordinarily, the pleural effusion is minimal and is not specifically addressed other than by more aggressive treatment of the underlying CHF.
> After confirmation of the pleural effusion by decubitus view X-rays or diagnostic thoracentesis, it may be necessary to address the effusion either by therapeutic thoracentesis or chest tube  to drain the excess fluid. In these cases 511.9 may be assigned as a secondary. CC 3Q 1991 p. 20</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD080_01</EditID><EffectiveDate>2009-10-01T00:00:00</EffectiveDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>2</Severity><Title>Pleural effusion and CHF</Title><DisplayID>IAD080</DisplayID><Description> Pleural effusion is not usually reported in cases of CHF/Left heart failure, as, it is commonly seen in this disease. Ordinarily, the pleural effusion is minimal and is not specifically addressed other than by more aggressive treatment of the underlying CHF.
> After confirmation of the pleural effusion by decubitus view X-rays or diagnostic thoracentesis, it may be necessary to address the effusion either by therapeutic thoracentesis or chest tube  to drain the excess fluid. In these cases 511.9 may be assigned as a secondary. CC 3Q 1991 p. 20</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-20T12:50:11.330</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD100_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:59.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>1</Severity><Title>BMI &gt; 30 without Obesity</Title><DisplayID>IAD100</DisplayID><Description>Two codes are needed to completely describe obesity or morbid obesity.  A code from V85 should not be assigned without a physician&apos;s diagnosis of underweight or obesity.  Review the record for such documentation; query the
 provider if indicated.  If documentation does not support reporting code 278.0x, the code V85.3x or V85.4 must be removed.</Description><ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit><Edit><EditID>IAD280_00</EditID><EffectiveDate>2008-10-01T00:00:00</EffectiveDate><EndDate>2009-09-30T23:59:59.997</EndDate><ClassificationID>I</ClassificationID><CategoryID>AD</CategoryID><Severity>1</Severity><Title>CKD, Stage Unspecified</Title><DisplayID>IAD280</DisplayID><Description>585.9 for CKD unspecified has been assigned.  For data quality and accurate severity scoring, the stage of the CKD should be documented in the record and the appropriate code from 585.0 – 585.6 should be assigned as indicated.  Review the record for such documentation and/or query the physician for additional documentation.  A physician query may be indicated if the physician documentation is un
clear, inconsistent, imprecise, illegible or incomplete.</Description><
> ContinueProcessingWhenMet>1</ContinueProcessingWhenMet><LastUpdatedDate>2009-10-08T16:50:22.873</LastUpdatedDate><LastUpdatedBy>InitialLoad</LastUpdatedBy></Edit>
> </Edits>]]></outputXML>
>       </ns:CARDSReferenceGatewayResponse>
>    </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> 
> In RPG, I am calling like this.
> 
>   SOAP =                                                                
>    '<?xml version="1.0" encoding="utf-8"?>'                             
>  + '<soapenv:Envelope'                                                  
>  + ' xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";'         
>  + ' xmlns:xsd="http://www.w3.org/2001/XMLSchema";'                      
>  + ' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>'            
>  + '<soapenv:Body>'                                                     
>  + '<ns1:CARDSReferenceGateway soapenv:encodingStyle='                  
>  + '  "http://schemas.xmlsoap.org/soap/encoding/";'                      
>  + '   xmlns:ns1="urn:PegaRULES:SOAP:CARDSReferenceService:Services">'  
>  + '<inputXML xsi:type="xsd:string">'                                   
>  + '   <![CDATA['                                                       
>  + '   <BPMSERVICEREQUEST>   '                                          
>  + '   <REQUESTORID>THC</REQUESTORID>'                                  
>  + '   <ACCESSKEY>lertqon3ccd!98s82*3awq</ACCESSKEY>   '                
>  + '   <METHODNAME>GETEDITLIST</METHODNAME>'                            
>  + '   </BPMSERVICEREQUEST>'                                            
>  + '   ]]>'                                                             
>  + '</inputXML>'                                                        
>  + '</ns1:CARDSReferenceGateway>'                                       
>  + '</soapenv:Body>'                                                    
>  + '</soapenv:Envelope>'  ;                                             
> 
> HTTP_SetFileCCSID(1208) ;
> HTTP_SetCCSIDs( 1208 :0) ;
> soapfilename = http_tempfile() + '.soap' ;              
> url = 'http://155.17.173.131:9086/prweb/PRSOAPServlet' ;
> rc = http_url_post(                                  
>          url                                         
>        : %addr(SOAP) + 2                             
>        : %len(SOAP)                                  
>        : soapfilename                                
>        : HTTP_TIMEOUT                                
>        : HTTP_USERAGENT                              
>        : 'Content-Type: text/html; charset=utf-8') ;
> 
> 
> I get the complete output but the following things are different 
> 
> <> are changed to lt;gt;
> physician&apos;s  changed to  physician&amp;apos;s
> 585.0 – 585.6   changed to 585.0 – 585.6 
> 
> 
> The IFS file is big. What step should I take to get same output as SOAPUI. 
> 
> 
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Scott Klement
> Sent: Friday, November 06, 2009 1:56 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: Re: Question regarding SOAP
> 
> Your first part, where the apostrophe has been doubly-escaped, may be 
> correct, or may not. Without more context, I really can't comment.
> 
> The second part, where the dash character has been expanded into 
> multiple bytes appears to be a CCSID problem.  Most likely, the data is 
> UTF-8, but you are treating it as ASCII instead of UTF-8 at some stage 
> of the process.
> 
> I simply don't have enough information to give you a direction for how 
> to fix this.  You need to show me how to reproduce the problem, because 
> right now, I only know that you have received two bad strings, I don't 
> know anything about how they got that way.
> 
> 
> Gonchigar, Sunil wrote:
>> I am currently receiving the soap response for "Physician's"  as
>> "physician&amp;apos;s" instead of "physician&apos;s"
>>
>> And, for "585.0-585.6" as " 585.0 – 585.6".
>>
>> What should I suggest the person who is providing this response to
>> give me the right result. He is providing data from SQL server.
>>
> -----------------------------------------------------------------------
> 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
> -----------------------------------------------------------------------
> 

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------