2011-09-03 4 views
0

XML과 관련하여 질문이 업데이트되었습니다. 이전에 유효성 검사기로 검사했고 통과했습니다. 문제가 다른 것일 수 있습니다. 다시 한번 감사드립니다.Google Checkout/GAE : urlfetch : XML 구문 분석기 오류. 프롤로그에서 내용을 허용하지 않습니다.


다음 코드는 무엇이 문제인지 알려주시겠습니까? 서버 간 체크 아웃 API 요청을 제출하는 데 사용 중입니다.

내가 오류가 점점 계속 : "오류 구문 분석 XML을, 구문 분석기에서 메시지는 다음과 같습니다. 내용은 프롤로그 '에서 허용되지 않습니다

나는 모든 순열과 조합을 시도하고, 또한 웹에서 검색했지만 .. 그냥 무작위 값이 따라서 보안을 위해 아래 수정 인증에 사용 아래 base64encoded 값 :. 단서를 얻을 수 없었다 나는 끼 었어로 프롬프트 도움이 크게 감사합니다

을 .Ashish PS 감사합니다 .

XML = "..."   
form_fields = {'XML': XML} 
form_data = urllib.urlencode(form_fields) 
result = urlfetch.fetch(url='https://sandbox.google.com/checkout/api/checkout/v2/merchantCheckout/Merchant/MERCHANT_ID',  payload= form_data, 
    method=urlfetch.POST, 
    headers={"Authorization": "Basic Kfgoijkef3fdgikneijerfererererwetfni43rfeferr=", 
          "Content-Type": "application/x-www-form-urlencoded", 
          "Accept": "application/xml;charset=UTF-8" 
      }           
) 


    XML = "<?xml version='1.0' encoding='UTF-8'?> \ 
        <checkout-shopping-cart xmlns='http://checkout.google.com/schema/2'> \ 
         <shopping-cart> \ 
         <items> \ 
          <item> \ 
          <item-name>HelloWorld 2GB MP3 Player</item-name> \ 
          <item-description>HelloWorld, the simple MP3 player</item-description> \ 
          <unit-price currency='USD'>159.99</unit-price> \ 
          <quantity>1</quantity> \ 
          </item> \ 
         </items> \ 
         </shopping-cart> \ 
         <checkout-flow-support> \ 
         <merchant-checkout-flow-support> \ 
          <shipping-methods> \ 
          <flat-rate-shipping name='SuperShip Ground'> \ 
           <price currency='USD'>9.99</price> \ 
          </flat-rate-shipping> \ 
          </shipping-methods> \ 
         </merchant-checkout-flow-support> \ 
         </checkout-flow-support> \ 
        </checkout-shopping-cart>" 
+0

는 소리. 어떻게 그걸 만들었 니? 문자열의 시작 부분에서 길잃은 문자를 찾습니다. – bobince

+0

내가 보내는 XML로 업데이트되었습니다. 이것은 이전에 유효성 검사기를 통과했습니다. 여전히 오류가 있습니까? 다시 한번 감사드립니다. – user926385

답변

0

"내용이 프롤로그에 허용되지 않습니다."오류는 XML 문서 형식 선언 또는 HTML에서 유효하지 않은 비표준 문자가 XML 선언에 나타나기 전에 문자가있는 경우 XML 파서 생성 오류입니다. 인코딩을 대문자로 지정하여 발생할 수도 있습니다 (예 : UTF-8이 잘못됨).

인코딩을 "utf-8"로 변경하여 수정했는지 확인해보십시오. 이 오류가 나타납니다 때

은 아래 링크는 더 흥미로운 경우가 있습니다 : 당신의 XML이 잘 형성되지 않은 것처럼

http://www.judahfrangipane.com/blog/2006/12/13/content-is-not-allowed-in-prolog/

+0

감사합니다. 다른 의견도 그 질문에 대답했다. 게시물 마지막의 링크는 매우 도움이되었습니다. 자세히 보았을 때 ' ?> '. 따라서 여분의 'XML ='이 있었기 때문에 오류가 발생했습니다. 답변 해 주신 모든 분들께 다시 한번 감사드립니다. 대단히 고맙습니다. – user926385

0

표시되는 오류 메시지는 XML 구문 분석기에 주어진 형식이 올바른 형식의 XML이 아니라는 매우 일반적인 오류 메시지입니다. 파일이 비어 있거나 인식 할 수없는 바이트 순서 표시로 시작하거나 "<"이외의 것으로 시작한다는 것을 의미 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 고맙습니다. 내가 보내는 XML로 업데이트되었습니다. 이것은 이전에 유효성 검사기를 통과했습니다. 여전히 오류가 있습니까? 다시 한번 감사드립니다. – user926385