Loket的GetMetaData上的SOAP错误“DecryptAndDeserializeUserToken”

时间:2017-04-12 12:50:06

标签: soap

当我将以下内容发布到Loket的Web服务时:

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:svc="http://Loket.Webservice/ServiceContracts/2008/06">
    <soapenv:Body>
        <svc:GetMetaData>
            <svc:UserToken>TOKEN_RETRIEVED_WITH_LOGON</svc:UserToken>
        </svc:GetMetaData>
    </soapenv:Body>
</soapenv:Envelope>

我收到错误:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <s:Fault>
            <faultcode>s:Client</faultcode>
            <faultstring xml:lang="nl-NL">GetMetaData</faultstring>
            <detail>
                <DefaultFaultContract xmlns="http://Loket.Webservice/ServiceContracts/2008/06" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                    <ErrorMessage>DecryptAndDeserializeUserToken</ErrorMessage>
                </DefaultFaultContract>
            </detail>
        </s:Fault>
    </s:Body>
</s:Envelope>

1 个答案:

答案 0 :(得分:0)

错误消息具有误导性。用户令牌是正确的,您可以通过调用List方法验证。

但是,必须使用可选列出的DataIdentity元素。它必须包含表的标识的散列和加密值,例如:

  

MqhIh6BdOHPRi1s16c + fNUmm4TO1p7HTwEKxxjgiAjB + o12lO5fq1poK4OZcfOE0yZyvwkDjCcm17foDi7V0uqp06vfgTTv5 / y8WyTBz + tPoxVdSOMECHARREMOVEDS4NQz3K8zogL

有了这个,它有效。请注意,如果稍微更改DataIdentity值,您仍会收到DecryptAndDeserializeUserToken错误消息。