2
我正在爲一個簡單的監聽器來處理與之通話的外部節點。除了簡單的請求之外,節點還發送MultiPart消息,因此不允許我使用任何PHP SOAP庫(如果您知道任何與MultiPart消息的交易,請告訴我),並強制我使用請求中的原始數據身體,即php://input
。沒有問題,除了UTF-8的支持。通過php讀取UTF-8 SOAP請求://輸入
PHP是目前非常簡單:
mb_internal_encoding('UTF-8');
echo file_get_contents('php://input');
當ñ
朝例如節點發送,節點會發送下面的聽衆:
...
<message>}</message>
...
另一個例子是拉丁字符,示例č ć š đ ž Č Ć Š Đ Ž
發送爲
...
<message>c c s d z C C S D Z</message>
...
tc PDUMP顯示請求在UTF-8發送,但XML仍然含有無效字符:
POST /endpoint HTTP/1.0
Content-Type: text/xml; charset=UTF-8
SOAPAction: ""
User-Agent: Axis2
Host: IP:PORT
Content-Length: 1196
<?xml version='1.0' encoding='UTF-8'?>
...
<message>}</message>
...
假設節點正確編碼的數據,我能做些什麼在我結束弄清楚什麼是錯的?