SOAP リクエストでデータを取得する iPhone アプリがあります。SOAP 呼び出しは sudzc.com ライブラリによって行われます。
2 つのサーバーに SOAP リクエストを送信する必要があります。
- サーバー A : 私自身のサーバーで、いくつかの情報を取得します。自分で作成した SOAP 応答
- サーバー B : 必要な情報を提供するサードパーティのサーバー
iOS 6 アプリは 100% 正しく動作しています。
iOS7
- サーバーA:完全に機能しています
サーバー B : SOAP リクエストがランダムに失敗します。次のエラー メッセージが表示されることがあります。
< SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> < SOAP-ENV:Header/> < SOAP-ENV:Body> < SOAP-ENV:Fault > < faultcode>SOAP-ENV:Server < faultstring xml:lang="en">エンベロープにアクセスできませんでした: 指定されたソースからエンベロープを作成できません: ; 入れ子になった例外は com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: 指定されたソースからエンベロープを作成できません: : 指定されたソースからエンベロープを作成できません: : org.xml.sax.SAXParseException: 文書の前のマークアップルート要素は整形式でなければなりません: ルート要素の前にある文書内のマークアップは整形式でなければなりません。< /faultstring> < detail/> < /SOAP-ENV:Fault> < /SOAP-ENV:Body> < /SOAP-ENV:Envelope>
なぜこれがiOS7でのみ発生し、どうすればそれを取り除くことができるのでしょうか?
更新: 1 つのサーバーが https で実行され、もう 1 つのサーバーが http で実行されているという事実に関連している可能性がありますか?
- サーバー A: http://www.xxx.xy
- サーバー B: https://www.xxx.xy:443