DocuSign APIを使用していますが、いくつかの問題が発生しました。サーバーにデータリクエストを送信すると、次のエラーが発生します。
SoapFault exception: [q0:InvalidSecurity] An error was discovered
processing the <Security> header ---> WSE065: Creation time of the
timestamp is in the future. This typically indicates lack of synchronization
between sender and receiver clocks. Make sure the clocks are synchronized
or use the timeToleranceInSeconds element in the microsoft.web.services3
configuration section to adjust tolerance for lack of clock synchronization.
私は彼らのコミュニティフォーラム全体を見てきました、そして私が彼らのフォーラム管理者から見つけることができる唯一の応答はこれです:
The message means that the client clock is wrong. The timezone might be set
incorrectly. If the SOAP request is timestamped too far in the future or in the
past, the server will reject it. We generally run into this error with mobile
apps since folks don't always have their devices set to sync to network time.
サーバーの時間とコンピューターの時間をチェックして、すべてが正常であることを確認しました。コンピューターの時刻がESTに設定され、サーバーがCSTに設定されています。コンピューターのシステムクロックを更新して同期し、タイムゾーンをCSTに調整して、両方が一致することを確認しました。また、コンピューターの時刻をGMTに変更しました。これは、サーバーの時刻がGMTであると彼らが言っているためです。サーバーの時計も少しずれているようですので、更新してみました。(私の時計とサーバーの時計の間には6分の違いがあるようです)。
サーバーで次のコマンドを実行しました。
sudo ntpdate ntp.ubuntu.com
応答:
27 Sep 08:51:41 ntpdate[18858]: step time server 91.189.94.4 offset -357.639332 sec
また、サーバー上のgrub構成ファイル(/boot/grub/grub.conf)を編集してみました。これらのパラメータのさまざまな組み合わせをカーネル行の最後に追加してみました。
clock=pit
acpi=off
noapic
このコマンドでハードウェアクロックを更新しようとするだけでなく、次のようになります。
hwclock=systohc
石鹸ヘッダーは次のとおりです。
このリクエストは、午前10時41分(コンピューターの時刻[EST])、午前9時47分(サーバーの時刻[CST])に送信されました。
リクエスト:
POST /api/3.0/api.asmx HTTP/1.1
Host: www.docusign.net
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.3.16
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.docusign.net/API/3.0/CreateEnvelope"
Content-Length: 116157
応答:
HTTP/1.1 500 Internal Server Error
Cache-Control: private
Content-Length: 1696
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Thu, 27 Sep 2012 14:41:13 GMT
Vary: Accept-Encoding
Strict-Transport-Security: max-age=7776000; includeSubDomains
このエラーの原因について誰かが考えている場合、または誰かが私の時計の同期についてさらにアドバイスがある場合は、それらを聞いてみたいと思います。
お手数をおかけしますが、よろしくお願いいたします。