[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FW: Help with new method?
Hi Alvin,
Here is the XML document that's being sent to you (from your debug file):
<?xml version="1.0" encoding="ISO-8859-1"?>
<RateQuote xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.con-way.com/XML/RateQuote.xsd"
schemaVersion="1.0" />Error 500:
Notice the 'Error 500:' at the end of this XML document you're
receiving? That's not within the XML document itself -- but it's still
there. That's not legal in XML syntax.
So it says "Junk after document element" because the document element
(named <RateQuote> in this case) which encloses the whole document has
already ended -- yet there's still more stuff there.
So the XML data is not legal. And this is a clearly a bug on the server
side -- they are sending a document that is not well formed. (Or if
you look at it from another angle, you could say "they are sending a
document that _is_ well formed, but it's followed by extra junk")
Anyway -- if you're able, ask the sender to fix their XML document.
If you're not able (or you don't want to try to get them to change
becuase they're a good customer or something like that) then you should
try receiving the document, then removing the extra stuff from the end
(the Error 500: stuff) and then try running it through teh XML parser
after that has been removed.
Good luck
Alvin Strasburger wrote:
> Spent a good bit of time with this today, but new we keep getting a "junk
> after document element". Most of the time that is all that is in the debug
> file, but after starting a new session, I finally got a file complete debug
> to attach. Below is the code that we are running.
>
> Can someone help us with what's wrong here?
>
> Thanks,
>
> Alvin
>
>
> /free
> begsr getpasswd;
> rc = http_getauth(basic: digest: realm);
> if rc < 0;
> msg = HTTP_ERROR;
> dsply msg;
> return;
> endif;
> userid = 'enter user id for' + realm;
> dsply userid;
>
> pass = 'enter passwd for ' + realm;
> dsply pass;
>
> if Digest;
> callp http_setauth(HTTP_AUTH_MD5_DIGEST:
> userid: pass);
> else;
> callp http_setauth(HTTP_AUTH_BASIC:
> userid: pass);
> endif;
>
> rc = http_post_xml(URL
> : %addr(Data) + 2
> : %len(Data)
> : %paddr(StartOfElement)
> : %paddr(EndOfElement)
> : *NULL );
>
> if rc <> 1;
> eval msg = HTTP_ERROR;
> dsply msg;
> return;
> endif;
> endsr;
> /end-free
>
>
> -----Original Message-----
> From: Alvin Strasburger [mailto:alvins@xxxxxxxxxxxxx]
> Sent: Wednesday, May 05, 2010 3:46 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: RE: Help with new method?
>
> Mike:
> We already have eight HTTPAPI applications either in testing or production.
> Some are REST, some SOAP and some use the WEBFORM tool to add the parameters
> to the URL. They are all parsing the XML replies for us. So we understand
> how to make that part work even though we don't really understand what goes
> on under the covers. All of these applications accept the USERID and PW
> either within the XML or as part of the WEBFORM portion of the URL. The
> difference with Con-Way is that they require a login first. This is where
> our lack of HTTP knowledge comes into play.
>
> Do we basically combine the Example of supplying user/pass to HTTP server
> (old example 7) with say the UPS tracking example? (ie. http_getauth
> followed by the http_url_post_xml)?
>
> Sorry to be o bother, but we have been researching and studying the code for
> some time now and know just enough to understand how much knowledge we
> really lack.
>
> Alvin
>
>
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Mike Krebs
> Sent: Wednesday, May 05, 2010 1:40 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: RE: Help with new method?
>
> Alvin,
>
> Take a look at EXAMPLE14. Without seeing the documentation for the Con-way
> service, it is hard to know exactly.
>
> EXAMPLE14 "posts" XML and parses it "interactively". So, assuming the
> con-way service calls for you to send some XML (post), receive some XML, and
> you want to parse the XML immediately, this is a good example. You will have
> to add the authentication from EXAMPLE7 or from Thomas' example code.
>
> If you look at EXAMPLE14, you will find a http_url_post_xml at 130. This is
> sending the XML data in the postData variable. When the response comes back,
> the StartOfElement and EndOfElement procedures are invoked for the start of
> each xml element and the end of each xml element. Again, without
> understanding what Con-way wants or what your specific requirements are, we
> have a hard time helping you.
>
> Besides the authentication, yes, it is one statement to send and receive
> XML.
>
> Mike Krebs
>
>
>
>> -----Original Message-----
>> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-
>> bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Alvin Strasburger
>> Sent: Wednesday, May 05, 2010 8:54 AM
>> To: HTTPAPI and FTPAPI Projects
>> Subject: RE: Help with new method?
>>
>> Thomas,
>> Thanks for the simple explanation of the FALSE parm. You are correct
>> that
>> this example code is VBScript. However, rather than from shipwire,
>> this is
>> a nearly identical example from the Con-way Freight Rating tools.
>> Examples
>> are also available in Cold Fusion, Java, JSP, Perl, PHP and a few
>> others.
>>
>> I'm still a bit hazy regarding exactly which functions (procedures) to
>> call
>> from HTTPAPI. From using Example7 to get a successful login, it
>> appears
>> that we must begin with http_setauth. We are unsure exactly which
>> method(s)
>> to use after that. We do want to parse the XML reply. Can you suggest
>> which modules to call or which HTTPAPI example program best
>> demonstrates the
>> necessary steps to interact with this company's offering?
>>
>> Alvin
>> Alvin Strasburger
>> Printgear Sportswear
>> Phone 803-744-2310
>> Toll Free 800-763-7763
>> mailto:alvins@xxxxxxxxxxxxx
>> www.printgear.com
>>
>> -----Original Message-----
>> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
>> thomas.raddatz@xxxxxx
>> Sent: Wednesday, May 05, 2010 2:27 AM
>> To: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
>> Subject: Re: Help with new method?
>>
>>
>> Alvin and Scott,
>>
>> I assume that the programming language of the example code is VBScript
>> and
>> the the complete example is taken from here:
>>
>> http://www.shipwire.com/exec/XML_Order_ASP_sample_code.htm
>>
>> A description of the "open" methof of "ServerXMLHTTP" can be found
>> here:
>>
>> http://msdn.microsoft.com/en-us/library/ms763809%28VS.85%29.aspx
>>
>> Regading to that description the "false" indicates a synchronous call
>> which is exactly what HTTP API does.
>>
>> <quote>
>> bAsync(optional)
>> Boolean. Indicator as to whether the call is asynchronous.
>> The default is False (the call does not return immediately).
>> </quote>
>>
>> Thomas.
>>
>>
>> ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx schrieb am 05.05.2010 06:59:46:
>>
>>> Von:
>>>
>>> sk@xxxxxxxxxxxxxxxx
>>>
>>> An:
>>>
>>> ftpapi@xxxxxxxxxxxxxxxxxxxxxx
>>>
>>> Datum:
>>>
>>> 05.05.2010 07:04
>>>
>>> Betreff:
>>>
>>> Re: Help with new method?
>>>
>>> Gesendet von:
>>>
>>> ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
>>>
>>> Hi Alvin,
>>>
>>> Which programming language was that code written in? I don't
>> recognize
>>> the syntax. You'll need to look up the parameters for the 'open'
>> method
>>
>>> of the "Microsoft.XMLHTTP" class in whatever programming language
>> that
>>> is... this'll tell you what 'false' does.
>>>
>>> Good luck!
>>>
>>>
>>> Alvin Strasburger wrote:
>>>> We have now been successful with posting XML and SOAP requests
>> and
>>>> parsing the replies as well as using the WEBFORMS tool to send
>> simple
>>>> strings. We have tried to learn as much as we could in the
>> process.
>>>> Unfortunately, we have much more knowledge about RPG programming
>> and
>>>> business logic than we have about web programming.
>>>>
>>>>
>>>> We are in the final stages of integrating freight rating into
>> our
>>>> order entry system and do not quite understand what is required
>> for
>>>> one specific carrier's system. We have found the following
>> excerpt
>>>> from an example in their documentation and help translating it
>> to
>> the
>>>> "HTTPAPI language".
>>>>
>>>>
>>>> set httpConn = Server.CreateObject("Microsoft.XMLHTTP")
>>>> 'or alternately depending on what is installed on your server:
>>>> 'set httpConn = Server.CreateObject("MSXML2.ServerXMLHTTP")
>>>> 'or whatever parser you have installed
>>>>
>>>> ' open synchronous connection to X-ShipmentStatus
>>>> httpConn.open "POST",xxxxxxXmlUrl,false,username,password
>>>>
>>>>
>>>> 'set post data type, and post data
>>>> httpConn.setRequestHeader "Content-type","application/x-www-form-
>>> urlencoded"
>>>> httpConn.Send requestType & "=" & xmlRequest
>>>>
>>>>
>>>> We know that xxxxxXmlUrl is a constant containing the URL and
>> that
>>>> xmlRequest is a constant containing the XML of our request. We
>> also
>>>> know the ID and Password. We also know that we need to send the
>> ID
>>>> and PW first in order to log in. We are not sure what the
>> parameter
>>>> false is for. It is not documented as a constant.
>>>>
>>>>
>>>> Can someone help us by listing the specific functions we need to
>> call
>>>> and in what order?
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Alvin
>>>>
>>>> Alvin Strasburger
>>>>
>>>> Printgear Sportswear
>>>>
>>>> Phone 803-744-2310
>>>>
>>>> Toll Free 800-763-7763
>>>>
>>>> [1]mailto:alvins@xxxxxxxxxxxxx
>>>>
>>>> [2]www.printgear.com
>>>>
>>>> References
>>>>
>>>> 1. mailto:alvins@xxxxxxxxxxxxx
>>>> 2. http://www.printgear.com/
>>>>
>>>>
>>>>
>>>>
>> -----------------------------------------------------------------------
>> -
>>>>
>> -----------------------------------------------------------------------
>>>> 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
>>> ---------------------------------------------------------------------
>> --
>>
>> --
>> IMPORTANT NOTICE:
>> This email is confidential, may be legally privileged, and is for the
>> intended recipient only. Access, disclosure, copying, distribution, or
>> reliance on any of it by anyone else is prohibited and may be a
>> criminal
>> offence. Please delete if obtained in error and email confirmation to
>> the
>> sender.
>> -----------------------------------------------------------------------
>> This is the FTPAPI mailing list. To unsubscribe, please go to:
>> http://www.scottklement.com/mailman/listinfo/ftpapi
>> -----------------------------------------------------------------------
>>
>> No virus found in this incoming message.
>> Checked by AVG - www.avg.com
>> Version: 9.0.814 / Virus Database: 271.1.1/2854 - Release Date:
>> 05/04/10
>> 14:27:00
>>
>> -----------------------------------------------------------------------
>> 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
> -----------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG - www.avg.com
> Version: 9.0.814 / Virus Database: 271.1.1/2854 - Release Date: 05/05/10
> 02:26:00
>
>
> ------------------------------------------------------------------------
>
> -----------------------------------------------------------------------
> 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
-----------------------------------------------------------------------