[英]How to use tokenpassport in netsuite in java
我已經在Java中生成了Tokenpassort,但沒有看到如何在Java中使用它。 我看到的所有樣本都在C#中
1)NetSuiteServiceLocator不使用令牌密碼
2)NetSuiteService是一個接口。
3)NSPORT領取護照,但不領取通行證。
如何在Java(不是C#)中使用tokenpassport?
簡短的回答:令牌進入SoapEnvelope中名為“ tokenPassport”的SOAP頭。 實現該目標的一種方法是通過javax.xml.rpc.Stub類的setHeader方法。
這對我有用:
import org.apache.axis.client.Stub;
import org.apache.axis.message.SOAPHeaderElement;
import com.netsuite.webservices.platform.core_2019_1.TokenPassport; // WSDL version 2019.1
import com.netsuite.webservices.platform_2019_1.NetSuitePortType; // WSDL version 2019.1`<br/>
TokenPassport tokenPassport = ...;
NetSuitePortType port = ...;`<br/>
String namespace = "urn:messages_2019_1.platform.webservices.netsuite.com"; // WSDL version 2019.1
SOAPHeaderElement tokenPassportHeader =
new SOAPHeaderElement(nameSpace, "tokenPassport", tokenPassport);
((Stub) port).setHeader(tokenPassportHeader);
注意: * _2019_1軟件包是由Axis使用NetSuite的WSDL為2019.1。版生成的soap客戶端軟件包。
另一個方面: NetSoft在TokenPassportSignature.algoritm中期望的算法名稱與Java的SecretKeySpec構造函數中使用的名稱不同。 例如,SecretKeySpec使用“ HmacSHA256”,但TokenPassportSignature需要“ HMAC-SHA256”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.