1

現在、Netsuite Web サービスに統合しようとしていますが、Netsuite の PHP コネクタ キットは使用したくありません。Coldfusion と cfhttp を使用して開発したスクリプトを既に取得しており、問題なく Netsuite にデータを送信できます。

現在、スクリプトを PHP に変換し、curl 関数を使用してデータを Netsuite に送信しています。

問題なく新しい販売注文レコードを作成できますが、302 リダイレクトしか取得していないため、返信応答メッセージを取得するのは非常に困難です。

これは、戻りオブジェクトの収集を実行するためのログイン資格情報と関係がある可能性があると想定していますが、このデータを Cookie 値に保存して、システム間で引き続き読み取りできるようにする方法についてはわかりません統合。

以下は私たちのCURLコードです

$http_header = array(
    'Content-Type: text/xml; charset="utf-8"',
    'SOAPAction: getItemAvailability',
    'Content-Length: ' . strlen($myXml),
    'Accept: text/xml',
    'Cache-Control: no-cache',
    'Pragma: no-cache'
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->wdsl);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_header);
curl_setopt($ch, CURLOPT_POSTFIELDS, $myXml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
$returnObj = curl_exec($ch);
curl_close($ch);

私たちはさまざまなことを試しましたが、それを機能させることができないように見えるので、返されたxmlデータを取得し、問題なくレコードを作成できます..どんな提案でも大歓迎です.

4

1 に答える 1

0

NetSuite 通信には、curl の代わりにラッパー ライブラリを使用することをお勧めします。私はルビーラッパーで多くの仕事をしてきましたが、私にとってはうまくいきました。

302 を取得できる理由の 1 つは、アクセスしようとしているアカウントが、現在指している WSDL とは異なるデータセンターにあることです。標準の WSDL ドメインは ですsystem.netsuite.comが、多くの NetSuite インストールは にありsystem.na1.netsuite.comます。現在使用しているデータセンターを確認する最も簡単な方法は、GUI にログインしてドメインを確認することです。

于 2015-10-09T12:55:32.210 に答える