Java SOAP 请求
Java SOAP request
在我使用 SOAP 自学的过程中,我试图提出一个请求:
1. 为了测试,我选择了交易员的 api wsdl.
2.借助maven-jaxb2-plugin
生成java类.
3. 其中还有如:ObjectFactory, TokenRequest, TokenResponse, GetInfoRequest
.
4. 我正在通过 ObjectFactory
创建新对象,我想我正在做一个请求:
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
TokenResponse tokenResponse = factory.createTokenResponse();
GetInfoRequest getInfoRequest = factory.createGetInfoRequest();
getInfoRequest.getLogin(); //It's null
为什么我在那里得到空值(我错过了什么)?我什至提出要求吗?如果我真的成功了,我该如何追踪?
Do I even make a request?
不,你不是在做请求,你只是在那边创建对象
检查你为两个 类 生成的 类 称为 ClientTradingService
和 IClientTradingApi
你必须使用它们来完成请求。
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
//create your service should be something similar to this
ClientTradingService service = new ClientTradingService();
IClientTradingApi iservice = service.getBasicHttpBindingIClientTradingApi();
//do your request should be something similar to this
TokenResponse tokenResponse = iservice.getAuthenticationToken(tokenRequest);
//now you can get the info from the response
tokenResponse.getToken();//this should return the authentication token
做其他的请求,流程同上。
如果您打开 WSDL,那么在下面的部分中您会发现 wsdl:portType name="IClientTradingApi" 和
服务名称="ClientTradingService"。
您必须使用那些 class 来调用该服务。
下面的代码可能对你有帮助。
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
ClientTradingService service = new ClientTradingService();
IClientTradingApi iClientTradingApi =
service.getBasicHttpBindingIClientTradingApi();
TokenResponse response =
iClientTradingApi.getAuthenticationToken(tokenRequest);
System.out.println(response);
在我使用 SOAP 自学的过程中,我试图提出一个请求:
1. 为了测试,我选择了交易员的 api wsdl.
2.借助maven-jaxb2-plugin
生成java类.
3. 其中还有如:ObjectFactory, TokenRequest, TokenResponse, GetInfoRequest
.
4. 我正在通过 ObjectFactory
创建新对象,我想我正在做一个请求:
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
TokenResponse tokenResponse = factory.createTokenResponse();
GetInfoRequest getInfoRequest = factory.createGetInfoRequest();
getInfoRequest.getLogin(); //It's null
为什么我在那里得到空值(我错过了什么)?我什至提出要求吗?如果我真的成功了,我该如何追踪?
Do I even make a request?
不,你不是在做请求,你只是在那边创建对象
检查你为两个 类 生成的 类 称为 ClientTradingService
和 IClientTradingApi
你必须使用它们来完成请求。
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
//create your service should be something similar to this
ClientTradingService service = new ClientTradingService();
IClientTradingApi iservice = service.getBasicHttpBindingIClientTradingApi();
//do your request should be something similar to this
TokenResponse tokenResponse = iservice.getAuthenticationToken(tokenRequest);
//now you can get the info from the response
tokenResponse.getToken();//this should return the authentication token
做其他的请求,流程同上。
如果您打开 WSDL,那么在下面的部分中您会发现 wsdl:portType name="IClientTradingApi" 和 服务名称="ClientTradingService"。 您必须使用那些 class 来调用该服务。 下面的代码可能对你有帮助。
ObjectFactory factory = new ObjectFactory();
TokenRequest tokenRequest = factory.createTokenRequest();
tokenRequest.setLogin(12345);
tokenRequest.setPassword(factory.createTokenRequestPassword("password"));
ClientTradingService service = new ClientTradingService();
IClientTradingApi iClientTradingApi =
service.getBasicHttpBindingIClientTradingApi();
TokenResponse response =
iClientTradingApi.getAuthenticationToken(tokenRequest);
System.out.println(response);