Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1315884
  • 博文数量: 932
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 10208
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-08 12:28
文章分类

全部博文(932)

文章存档

2021年(1)

2020年(134)

2019年(792)

2018年(5)

我的朋友

分类: 架构设计与优化

2019-05-08 18:26:57

需要创建的销售订单的明细通过硬编码指定:

比如销售订单的描述为Jerry Test 2019-1-23 16:05PM

执行之后,看到Status Code 201,说明创建成功:

到UI上能看到成功创建的销售订单:

实现代码:

package odata; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import org.apache.http.HttpEntity; import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.HttpClientBuilder; public class SimpleOrderCreator { private final String SERVICEURL = "https://my5000jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection"; HttpClient m_httpClient; private HttpClient getHttpClient() { if (this.m_httpClient == null) { this.m_httpClient = HttpClientBuilder.create().build(); } return this.m_httpClient; } private String getCSRFToken(){ final HttpGet get = new HttpGet(SERVICEURL); get.setHeader("Authorization", "Basic 0FOR0pFUlJZMTpTYXB0ZXN0MQ=="); get.setHeader("x-csrf-token", "fetch"); HttpHost proxy = new HttpHost("proxy.sha.sap.corp", 8080, "http"); RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); get.setConfig(config); HttpResponse response; String token = null; try { response = getHttpClient().execute(get); /*Header[] header = response.getAllHeaders();

			for( int i =0; i < header.length; i++){

				System.out.println("Header: " + header[i].getValue());

			}*/ token = response.getFirstHeader("x-csrf-token").getValue(); System.out.println("token: " + token); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException | UnsupportedOperationException e) { e.printStackTrace(); } return token; } private void createSO(String token,String body) { final HttpPost post = new HttpPost( URI.create(SERVICEURL)); post.setHeader("Authorization", "Basic 0FOR0pFUlJZMTpTYXB0ZXN0MQ=="); post.setHeader("Content-Type", "application/json"); post.setHeader("X-CSRF-Token", token); HttpEntity entity = null; try { entity = new StringEntity(body); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } post.setEntity(entity); HttpResponse response = null; try { response = getHttpClient().execute(post); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Response statusCode for Batch => " + response.getStatusLine().getStatusCode()); } public static void main(String[] args) { SimpleOrderCreator tool = new SimpleOrderCreator(); String token = tool.getCSRFToken(); String body = "{" + "\"Name\": \"Jerry Test 2019-1-23 16:05PM\"," + "\"TypeCode\": \"2059\"," + "\"BuyerID\":\"ee\"," + "\"PartyID\":\"60102\", " + "\"CustomerQuoteText\":[{" + "\"Text\": \"test comment by Jerry Wang\", " + "\"TypeCode\": \"10024\"" + "}]," + "\"CustomerQuoteItem\":[{ " + "\"ProductID\": \"1042416\"" + "}]," + "\"CustomerQuoteItemProposal\":[{" + "\"ProductUUID\": \"00163E72-09C6-1EE8-BBDC-AC5F0CB0D795\"," + "\"Quantity\": \"1\"," + "\"unitCode\": \"EA\"" + "}]" + "}"; tool.createSO(token, body); } }

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

阅读(1040) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~