こんにちは、WCF クライアントを介して Apache 軸上に構築された SOAP 1.1 サービスを使用しています。問題は、フォールトと通常の応答の両方が WCF のビルトイン デシリアライザーによって解析されず、wcf クライアント経由で Web 操作を呼び出すときに XML 解析に関連する例外が発生することです。メッセージを調べると、次のようになりました。
<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">
<s:Header xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" />
<soapenv:Body>
<V2Response xmlns="urn:ETS">
<V2Return xsi:type="ns1:TResponse" xmlns:ns1="urn:ETS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fulfilmentRef></fulfilmentRef>
<paymentRef></paymentRef>
<statusCode>2013</statusCode>
<statusDescription>ePayments: Invalid client password specified in request.</statusDescription>
<transactionId xsi:nil="true" />
<transactionTimeStamp>2013-06-21T08:22:16.483Z</transactionTimeStamp>
</V2Return>
</V2Response>
</soapenv:Body>
</soapenv:Envelope>
私が得ている例外は次のとおりです。
> The specified type was not recognized: name='TResponse', namespace='urn:ETS', at <V2Return xmlns='urn:ETS'>
に有効なTResponse
クラスがReference.cs
あります。構成を変更することでこれを処理できるかどうか教えてください。WCF クライアントが SOAP メッセージを解析することを期待していましたが、できませんでした。サーバー側で何も変更できません。これはサード パーティの API です。 .