簡體   English   中英

如何在Java中的Netsuite中使用tokenpassport

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM