云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

美国服务器_网易云服务器_怎么申请

小七 141 0

简介

本文档提供了如何使用Eclips创建JAR文件以及如何在SAP PI ESR配置中导出和上传JAR文件的端到端的详细信息。

本文档介绍了java代码非常重要的一点,从PI路径下载外部jar文件的位置以及如何将外部jar文件添加到java项目中。

逐步创建用于java映射的.jar文件。

要创建jar文件,请下载Eclipse。

下面是创建jar文件的逐步屏幕截图。

右键单击src包并创建java类。

右键点击java项目,进入构建路径,消费返利新模式,点击配置构建路径。

如前所述添加两个外部JAR文件以下

习近平.mapping.tool.lib\u api.jar

com.sap.xpi网站.ib.mapping.lib库.jar

:/rep/repository/com.sap.xpi网站.ib.mapping.lib库.jar

:/rep/repository/com.sap.xpi网站.ib.mapping.lib库.jar

下面是请求映射的完整java代码。

导入java.io.BufferedReader文件;

进口java.io.ByteArrayInputStream文件;

导入文件输入流;

导入java.io.FileOutputStream文件;

导入java.io.IOException异常;

导入输入流;

导入java.io.InputStreamReader;

导入java.io.OutputStream输出流;

导入java.io.读卡器;

导入java.util.Map文件;

导入java.util.HashMap文件;

进口javax.xml.parsers.DocumentBuilder;

导入javax.xml.parsers.DocumentBuilderFactory;

导入com.sap.aii公司.映射工具.tf3.右集装箱;

导入javax.xml.parsers.DocumentBuilder;

导入javax.xml.parsers.DocumentBuilderFactory;

导入javax.xml.parsers.parserConfiguration异常;

导入javax.xml.transform文件.变压器;

进口javax.xml.transform文件.TransformerFactory;

导入javax.xml.transform文件.dom.DOMSource文件;

导入javax.xml.transform文件.stream.StreamResult文件;

导入org.w3c。属性;

导入org.w3c。dom.文档;

导入org.w3c。dom.节点;

导入org.w3c。dom.NodeList节点列表;

导入org.w3c。dom.元素;

导入org.w3c。dom.NamedNodeMap文件;

进口com.sap.aii公司.mapping.lookup.Channel频道;

导入com.sap.aii公司.mapping.lookup.LookupService;

导入com.sap.aii公司.mapping.lookup.Payload有效负载;

导入com.sap.aii公司.mapping.lookup.SystemAccessor;

//导入com.sun.xml.内部.ws.api.服务器.容器;

导入com.sap.aii公司.映射.api.*;

公共类SFDC\U JAVA扩展抽象转换{

String sessionId="";

String serverUrl="";

String prefix=""

+ ""

+ " " + "" + "";

字符串后缀= " ";

字符串信封=" ";

private Map Map;

/*method setparameters是必需的,但我们不使用它*/

public void setParameter(Map param){

Map=param;

if(Map==null)

{

Map=new HashMap();

}

}

public"void execute(InputStream in,OutputStream out){

try{

copyPayload(in,out);

}catch(Exception t){

t.printStackTrace();

}

}

private static final DynamicConfigurationKey KEY_URL=DynAMIConfigurationKey.create文件("HTTP//SAP/COM/XI/XI/Stase/SOAP","TServerLocation");

/*方法是为输入消息负载构建Soap信封*/

private void copyPayload(InputStream in,OutputStream out)抛出StreamTransformationException

{

String c="";

String Newpayload="";

try{

InputStreamReader inr=new InputStreamReader(in);

/*InputStream inr=in.getInputPayload中().getInputStream();*/

BufferedReader reader=新的BufferedReader(inr);

/*

*以下是删除

*来自输入消息负载

*/

字符串temp=";

while((temp=读卡器.readLine()) !=null){

c=c+temp;

}

int len=c.indexOf(">");

Newpayload=c.substring(len+1);

Newpayload=新有效载荷。更换("",

"");

输出。写入(前缀.getBytes());

输出。写入(sessionId.getBytes());

输出。写入(后缀.getBytes());

输出。写入(Newpayload.getBytes文件());

输出。写入(信封.getBytes());

catch(IOException e){

throw new StreamTransformationException(e.getMessage());

}

}

/*

*方法是用用户名和密码登录到SFDC,淘客帝国,从响应

*/

private void getSessionIdFromSFDC(String username,String password){

try{

Channel Channel=查找服务.getChannel("BC_SALESFORCE",家居智能化系统价格,"CC_SOAP_LOOKUP");

SystemAccessor accessor=null;

accessor=LookupService.getSystemAccessor(频道);

字符串loginxml=""+username

+""+password+"";

InputStream InputStream=new ByteArrayInputStream(loginxml.getBytes());

有效载荷=LookupService.getXmlPayload(输入流);

有效负载SOAPOutPayload=null;

SOAPOutPayload=访问器.call(有效负载);

InputStream Input=SOAPOutPayload.getContent文件();

DocumentBuilderFactory=DocumentBuilderFactory.newInstance();

文档生成器=工厂.newDocumentBuilder();

文件=生成器.parse(inp);

节点列表会话1=document.getElementsByTagName文件("sessionId");

节点列表serverUrl1=document.getElementsByTagName文件("serverUrl");

Node Node=sessionId1.item(0);

Node node1=serverUrl1.item(0);

if(Node!=null){

节点=节点.getFirstChild();

如果(节点!=null){

sessionId=节点.getNodeValue();

}

}

如果(节点1!=null){

node1=node1.getFirstChild();

if(node1!=null){

serverUrl=node1.getNodeValue();

}

}

}catch(异常e){

e.printStackTrace();

}

}

public static void main(String[]args)抛出异常{

try{

SFDC_JAVA obj=new SFDC_JAVA();

FileInputStream in=new FileInputStream("D:/输入.xml"";

FileOutputStream out=新FileOutputStream("D:/输出.xml");

目标执行(in,out);

}catch(Exception e){

e.printStackTrace();

}

}

public String convertStreamToString(InputStream in){

StringBuffer sb=new StringBuffer();

try{

InputStreamReader isr=new InputStreamReader(in);

Reader=new BufferedReader(isr);

int ch;

while((ch=阅读()) > -1)

某人((char)ch);

读卡器关闭();

}catch(Exception Exception){

}

return向某人求婚();

}

public void transform(TransformationInput in,TransformationOutput)抛出StreamTransformationException{

DynamicConfiguration conf=in.getDynamicConfiguration中();

getSessionIdFromSFDC("用户ID","密码");

配置输出(KEY_URL,云服务器一年多少钱,serverUrl);

执行(in.getInputPayload中().getInputStream(),out.getOutputPayload输出有效负载().getOutputStream());

}

}

响应Java映射:

与上面提到的响应Java映射必须执行的步骤相同(创建Java项目和类等)

下面的代码用于从响应消息中移除信封和标头,并将实际的UPSERT响应消息发送到目标系统。(Salesforce-a SAP)

导入文件输入流;

导入java.io.FileOutputStream文件;

导入输入流;

导入java.io.OutputStream输出流;

导入java.util.Map文件;

进口javax.xml.parsers.DocumentBuilder;

导入javax.xml.parsers.DocumentBuilderFactory;

导入javax.xml.transform文件.变压器;

进口javax.xml.transform文件.TransformerFactory;

导入javax.xml.transform文件.dom.DOMSource文件;

导入javax.xml.transform文件.stream.StreamResult文件;

导入org.w3c。dom.文档;

导入org.w3c。dom.元素;

导入org.w3c。dom.节点;

导入org.w3c。dom.NodeList节点列表;

进口com.sap.aii公司.映射.api.StreamTransformation;

进口com.sap.aii公司.mapping.api.StreamTransformationException异常;

public class removesoapendevelop实现StreamTransformation{

public void execute(InputStream in,淘客app,OutputStream out)抛出StreamTransformationException{

try{

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();

文档生成器生成器=工厂.newDocumentBuilder();

/*以XML格式输入文档*/

文档docIn=builderel.parse文件(in);

/*解析后的文档*/

文档docOut=builderel.newDocument文件();

变压器厂tf=TransformerFactory.newInstance文件();

变压器变换=变压器();

元素根;

节点p;

NodeList l;

int mm,n1;

Node a;

NodeList b;

int cc,n2;

//如果需要包含命名空间,请使用下两行

//root=docOut.createElement文件("ns0:upsertResponse");

//根.setAttribute("xmlns:ns0″,"urn:enterprise.soap.sforce.com");

根=docOut.createElement文件("upsertResponse");

根.setAttribute("xmlns:xsi文件","http://www.w3.org/2001/XMLSchema-instance");

根.setAttribute("xmlns:","urn:enterprise.soap.sforce.com");

//根=docOut.createElement文件("错误");

//根.setAttribute("xmlns:","urn:enterprise.soap.sforce.com");

p=docIn.getElementsByTagName文件("upsertResponse")。项(0);

//a=docIn.getElementsByTagName文件("错误")。项(0);

l=p.getChildNodes();

//b=a.getChildNodes();

n1=l.getLength();

//n2=b.getLength();