1

チルダは XML SOAP メッセージで正当な文字ですか? SAXParseException:Content not allowed in prolog が表示されます。間違ったツリーを鳴らしてしまった場合に備えて、SOAP メッセージのほとんどを含めました。

POST /... HTTP/1.0
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.4
Host: 127.0.0.1:1234
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: ""
Content-Length: 1497
Authorization: Basic b3BlbnBkbTpvdHRvMTIz

<?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:query soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://localhost">
            <where xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">type ~~ 'command'</where>

         </ns1:query>
      </soapenv:Body>
   </soapenv:Envelope>
4

2 に答える 2

2

SOAP メッセージについてはよくわかりませんが、XML ファイルを処理するときにこのエラー メッセージが表示されるもう 1 つの理由として考えられるのは、ファイルの先頭にBOM (バイト オーダー マーカー)がある場合です。構成されていないか、正しく呼び出されていません。(16 進エディタを使用して) それを確認し、それを削除するとどうなるかを試してください。

たとえば、Python では、BOM (存在する場合) が正しく処理されることを確認するcodecs.open(filename, "UTF-8")だけでなく、を使用して UTF-8 でエンコードされた XML ファイルを開く必要があります。open(filename)

于 2008-11-21T20:44:57.907 に答える
1

チルダは XML SOAP メッセージで正当な文字ですか?

はい。エラー メッセージは、別のエラー ソース (「プロローグ」) を示しています。コード サンプルのように、HTTP ヘッダーはおそらく SAX パーサーに送信されるコードの一部ですか?

于 2008-11-21T20:18:16.633 に答える