[英]How to use tokenpassport in netsuite in java
I have generated Tokenpassort in java but I do not see how to use it in Java. 我已经在Java中生成了Tokenpassort,但没有看到如何在Java中使用它。 All samples I have seen are in C#
我看到的所有样本都在C#中
1) NetSuiteServiceLocator does not take tokenpassport 1)NetSuiteServiceLocator不使用令牌密码
2) NetSuiteService is an interface. 2)NetSuiteService是一个接口。
3) NSPORT takes in passport but NOT tokenpassport. 3)NSPORT领取护照,但不领取通行证。
How to use tokenpassport in Java ( not C# ) ? 如何在Java(不是C#)中使用tokenpassport?
SHORT ANSWER: The token goes into a SOAP Header named "tokenPassport" in the SoapEnvelope. 简短的回答:令牌进入SoapEnvelope中名为“ tokenPassport”的SOAP头。 One way to make that happen is via the javax.xml.rpc.Stub class's setHeader method.
实现该目标的一种方法是通过javax.xml.rpc.Stub类的setHeader方法。
HERE'S WHAT WORKED FOR ME: 这对我有用:
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);
NOTE: The *_2019_1 packages are soap client packages generated by Axis using NetSuite's WSDL for version 2019.1. 注意: * _2019_1软件包是由Axis使用NetSuite的WSDL为2019.1。版生成的soap客户端软件包。
ONE OTHER PITFALL: The algorithm name that NetSoft expects in TokenPassportSignature.algoritm is NOT the same as the name used in java's SecretKeySpec constructor. 另一个方面: NetSoft在TokenPassportSignature.algoritm中期望的算法名称与Java的SecretKeySpec构造函数中使用的名称不同。 For example, the SecretKeySpec uses "HmacSHA256", but TokenPassportSignature expects "HMAC-SHA256".
例如,SecretKeySpec使用“ HmacSHA256”,但TokenPassportSignature需要“ HMAC-SHA256”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.