ITPub博客

首页 > 应用开发 > > 使用简单的Java代码在SAP C4C里创建销售订单

使用简单的Java代码在SAP C4C里创建销售订单

作者:lakefront 时间:2019-09-03 14:00:23 0 删除 编辑

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

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

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

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

实现代码:

packageodata;importjava.io.IOException;importjava.io.UnsupportedEncodingException;importjava.net.URI;importorg.apache.http.HttpEntity;importorg.apache.http.HttpHost;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.config.RequestConfig;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.entity.StringEntity;importorg.apache.http.impl.client.HttpClientBuilder;publicclassSimpleOrderCreator{privatefinal String SERVICEURL="https://my5000jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection";HttpClient m_httpClient;privateHttpClientgetHttpClient(){if(this.m_httpClient==null){this.m_httpClient=HttpClientBuilder.create().build();}returnthis.m_httpClient;}privateStringgetCSRFToken(){final HttpGetget=newHttpGet(SERVICEURL);get.setHeader("Authorization","Basic 0FOR0pFUlJZMTpTYXB0ZXN0MQ==");get.setHeader("x-csrf-token","fetch");HttpHost proxy=newHttpHost("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(ClientProtocolExceptione){e.printStackTrace();}catch(IOException|UnsupportedOperationException e){e.printStackTrace();}returntoken;}privatevoidcreateSO(String token,String body){final HttpPost post=newHttpPost(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=newStringEntity(body);}catch(UnsupportedEncodingExceptione){// TODO Auto-generated catch blocke.printStackTrace();}post.setEntity(entity);HttpResponse response=null;try{response=getHttpClient().execute(post);}catch(ClientProtocolExceptione){// TODO Auto-generated catch blocke.printStackTrace();}catch(IOExceptione){// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("Response statusCode for Batch => "+response.getStatusLine().getStatusCode());}publicstaticvoidmain(String[]args){SimpleOrderCreator tool=newSimpleOrderCreator();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);}}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2491/viewspace-3153329/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-05

  • 博文量
    99
  • 访问量
    625