1

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

このエラーの原因について誰かが考えている場合、または誰かが私の時計の同期についてさらにアドバイスがある場合は、それらを聞いてみたいと思います。

お手数をおかけしますが、よろしくお願いいたします。

4

1 に答える 1

1

私は自分の仮想サーバーをホストしている会社に連絡することになりましたが、それは私が管理しているものにはまったく問題がなかったことがわかりました。彼らのハイパーバイザー(仮想マシンモニター-VMM)に問題があることが判明したため、サーバーがハイパーバイザーから時刻を同期しているときに、時刻が約7分オフセットされていました。サーバーのシステムクロックはサーバーによって制御されていたため、次のコマンドを使用して手動で時刻を設定することもできませんでした。

date -s "27 SEP 2012 HH:MM:SS"

変更はVMMに取って代わられるだけだからです。

于 2012-09-27T15:51:58.230 に答える