PHP Web サービスに接続しようとすると、「操作の応答メッセージの本文をデシリアライズ中にエラーが発生しました」という既知の問題に直面します。
インターネット プロンプトのソリューションでは、readerQuotas を追加して web.config を変更するよう求められますが、機能しません。
以下に私の解決策があります。誰かがアドバイスできますか?私は感謝されます。また、post メソッドと httpRequest を使用するとうまく機能しますが、そのような解決策は受け入れられないことにも注意してください。
MIGDZ.Logic_DzSoapServer_QueryIdPortClient client = new Logic_DzSoapServer_QueryIdPortClient();
MIGDZ.Logic_DzSoapServer_Request_BodyId BodyRequest = new Logic_DzSoapServer_Request_BodyId();
BodyRequest.nr_dok = "xxxxxx";
client.ClientCredentials.UserName.UserName = "xxxx";
client.ClientCredentials.UserName.Password = "xxxxxxxxxx";
try
{
client.Open();
var responseArray = client.getParcel(BodyRequest, "xxxxxxxx");
}
catch (Exception ex)
{
throw;
}
finally
{
client.Close();
}
ウェブ構成:
<binding name="Logic_DzSoapServer_QueryIdBinding" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" >
<transport clientCredentialType="None" proxyCredentialType="None" />
</security>
</binding>