RFC to SOAP Interface - Problem in Request Message Mapping
Dear All,
We are working on RFC to SOAP Scenario i.e. pulling out data from an WebService from SAP via PI.
In Request Message Mapping, when the wsdl file is uploaded as Target Message, the wsdl request shows the nested elements like below.
<Request>
<Request_New>
<PAR1>xyz</PAR1>
<PAR2>123</PAR2>
</Request_New>
</Request>
But the desired Request should go like below.
<Request>
<PAR1>xyz</PAR1>
<PAR2>123</PAR2>
</Request>
Hence it gives an error saying that the tag Request_New does not exist.
Dear All,
Our target webservice cotains multiple methods.
The every method contains its corresponding request, response and SQL ecxeption as messages.
In case of request structures, every method (except crmPaymentReceived) contains more than 1 root element.
So while calling those methods having more than 1 root element, the additional header tag will always appear(not avoidable) in the request coming from SAP PI.
For Example,
Request Structure for method u2018isLoginIdExistu2019 (having more than 1 root element)
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ns1:isLoginIdExistRequest xmlns:ns1="http://netpricing"> -
>>>>> u201CThis Header tag will always appear u201D
<isLoginIdExistin0>asp</isLoginIdExistin0>
<isLoginIdExistin1>1</isLoginIdExistin1>
</ns1:isLoginIdExistRequest>
</soap:Body>
</soap:Envelope>
For this method, we get the error(saying that ns1:isLoginIdExistRequest xmlns:ns1="http://netpricing" does not exists).
Request Structure for method u2018crmPaymentReceivedu2019 (having only 1 root element)
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=http://www.w3.org/2001/XMLSchema-instance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:crmPaymentReceivedin0 xmlns:ns1="http://netpricing">false</ns1:crmPaymentReceivedin0>
</soap:Body>
</soap:Envelope>
For this method, we get the success response.
I tested their wsdl URL in XMLspy and wizdal(a wsdl testing tool), it shows request in the format having only root elements and not the header tags.
But header tags will always appear when header tag contains more than 1 root element.
Can anybody suggest me how do I tackle this?
Thanks in Advance.
Similar Messages
-
Request Message Mapping Problem
Hello friends,
I am working in XI 2.0 and
my senario is sap R/3->XI->File Adapter
I take an idoc from the SAP R/3 system. and that comes properly to XI. I already created Data type, Message Type,
Interface Type, Message Mapping and Interface Mapping in Desing. and all the configuration part.
but when i send an idoc to XI system and check in SXMB_MONI at that time it shows me a green flag. means Inbound is Proper but It does not execute further steps.
like Request Message Mapping, Call Adapter, Response.
Can any one help me to solve this situation..
Thanks in Advance.hi Shankar,
I am able to solve the previous problem. by restarting my m/c.
Now if any one know that how to configure RFC adapter.
it always give me error like.
<b>Attempt to start RFC adapter failed: com/sap/mw/jco/JCO$Record</b>
And this is due to I am not able to connect to other R/3 system.
In SM59 transaction
<b>AI_RFCADAPTER_JCOSERVER</b> - TCP/IP connection
when i register my program id to <b>Xmb2RfcService</b>
then it gives me error when i am testing my connection.
<b>program Xmb2RfcService not registered / CPI-C error CM_ALLOCATE_FAILURE_RETRY</b>.
so, can any one help me out to solve this problem.
how to register Service in XI.
Thanks,
Gaurav Jain
Message was edited by: Gaurav Jain -
Inbound Service Interface without Input Request Message
Is it possible to create an Inbound Service Interface without Input Request Message? We are trying to create a web service to get all records from a database table hence no input parameter is needed. We have tried in both XI 7.0 and PI 7.1 but couldn't do it. Is this scenario not supported by ESR or am I missing something? Any hint will be appreciated.
Regards,
JiannanIn the scenario I described in my initial post the table structure is only needed in the response message to receive the data.
For a web service generated from a RFC function module using the service creation wizard (SE80) a table parameter is automatically included in the request message. I can understand this as the wizard can not figure out if the table parameter is needed in the request message or not.
I have tried to use the service creation wizard to generate a web service from the function module RFCPING that has no input or output parameters. As shown in below WSDL segment the WSDL does allow not having any input or output parameters.
- <wsdl:types>
- <xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style">
- <xsd:element name="Rfcping">
- <xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
- <xsd:element name="RfcpingResponse">
- <xsd:complexType>
<xsd:sequence />
</xsd:complexType>
</xsd:element>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="Rfcping">
<wsdl:part name="parameters" element="tns:Rfcping" />
</wsdl:message>
- <wsdl:message name="RfcpingResponse">
<wsdl:part name="parameter" element="tns:RfcpingResponse" />
</wsdl:message>
Thanks,
Jiannan -
Request Message mapping in SXMB_MONI for File - RFC - File without BPM
Hi ,
In my File-RFC-File scenario, the messages are processed successfully.
but when i look into the SXMB_MONI for File to RFC step, the records are present only till the Message split According to Receiver List and not able to see the records from Request Message mapping step onwards.it contains
<?xml version="1.0" encoding="UTF-8" ?>
<ns1:Z_PI_LOTUSNOTES_UNIFORM xmlns:ns1="urn:sap-com:document:sap:rfc:functions" />
in my mapping for the receiver RFC i have not done the mapping for all the fields. few fields i have disabled. whether this could create a problem in message mapping. pls let me know what needs to be done.Is it only for this scenario that the above display issue is occuring or is it for all scenarios?
If onlt a particular Pipeline steps are displayed then you can check what is the TRACE level set in SXMB_ADM --> Integration Engine Configuration --> and check if the TRACE parameter is set to at least 2 (max is 3 which will ensure that your DB will get full quickly)
For more information refer: /people/michal.krawczyk2/blog/2005/05/10/xi-i-cannot-see-some-of-my-messages-in-the-sxmbmoni
Regards,
Abhishek. -
Request Message Mapping - error
Hello,
Scenario :
Flat file => File adapter => XI 2.0 => IDoc => SAP
The adapter picks up the file, sends it to Integration Engine. In the Monitoring tool, the following are fine : Inbound Message, Receiver determination, Interface determination, Technical routing, Receiver grouping, Message split.
We are getting error in Request Message Mapping. The error is below :
===========
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
<SAP:Context />
<SAP:Code p1="Error during mapping" p2="--- Creating Java mapping com.sap.xi.tf._zMsgMap_ --- Using MappingResolver with context URL /sapmnt/XID/global/xi/mapping/http%3A%2F%2FABCxyz%2Ecom%2Fxi%2FTest%2F/bc52cef0be3411d8b277cade640701c6/ --- Loaded class com.sap.xi.tf._zMsgMap_ --- com.sap.aii.util.misc.api.BaseRuntimeException: Fatal Error: com.inqmy.lib.xml.parser.ParserException: XMLParser: No data allowed here:BLO (:main:, row:1, col:3) at com.sap.aii.mappingtool.tf.Transformer.start(Transformer.java:60) at com.sap.aii.mappingtool.tf.AMappingProgram.execute(AMappingProgram.java:100) at com.sap.aii.ibrun.server.map.RUMappingJava.execute(RUMappingJava.java:47) at com.sap.aii.ibrun.server.map.RURunner.run(RURunner.java:58) at com.sap.aii.ibrun.server.map.RUManager.run(RUManager.java:66) at com.sap.aii.ibrun.sbeans.map.MappingRequestHandler.handleRequest(MappingRequestHandler.java:62) at com.sap.aii.ibrun.sbeans.map.MappingServiceImpl.processFunction(MappingServiceImpl.java:72) at com.sap.aii.ibrun.sbeans.map.XMappingServiceObjectImpl0.processFunction(XMappingServiceObjectImpl0.java:24) at com.sap.aii.ibrun.sbeans.map.MappingServiceKey.processFunction(MappingServiceKey.java:10) at java.lang.reflect.Method.invoke(Native Method) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.invokeBean(RFCDefaultRequestHandler.java:73) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:47) at com.inqmy.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:69) at com.sap.mw.jco.JCO$Server.dispatchRequest(Unknown Source) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.run(Unknown Source) at java.lang.Thread.run(Thread.java:479) --- An error occured during the execution of the Java mapping com.sap.xi.tf._zMsgMap_ . Fatal Error: com.inqmy.lib.xml.parser.ParserException: XMLParser: No data allowed here:BLO (:main:, row:1, col:3) ---" p3="" p4="">MAPPING.GENERIC</SAP:Code>
<SAP:Text language="EN">Error during mapping</SAP:Text>
</SAP:ErrorHeader>
===========
For same scenario, another interface, we get the below error :
===========
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
<SAP:Context />
<SAP:Code p1="Error during mapping" p2="--- Creating Java mapping com.sap.xi.tf._xMsg_mapping_ --- Using MappingResolver with context URL /sapmnt/XID/global/xi/mapping/http%3A%2F%2FABCxyz%2Ecom%2Fxi%2FTest%2F/bc52cef0be3411d8b277cade640701c6/ --- Load of com/sap/xi/tf/_xMsg_mapping_.class from /sapmnt/XID/global/xi/mapping/http%3A%2F%2FOwensCorning%2Ecom%2Fxi%2Ftest%2F/bc52cef0be3411d8b277cade640701c6 failed. --- Class not found: com.sap.xi.tf._xMsg_mapping_ --- java.lang.ClassNotFoundException at RUMappingJava.load(): Could not load class: com.sap.xi.tf._xMsg_mapping_ Class not found: com.sap.xi.tf._xMsg_mapping_ --- com.sap.aii.ibrun.server.map.MappingRuntimeException: at com.sap.aii.ibrun.server.map.MappingRuntimeException.code_STYLESHEET_OR_CLASS_NOT_FOUND(MappingRuntimeException.java:91) at com.sap.aii.ibrun.server.map.RUMappingJava.load(RUMappingJava.java:119) at com.sap.aii.ibrun.server.map.RUMappingJava.execute(RUMappingJava.java:40) at com.sap.aii.ibrun.server.map.RURunner.run(RURunner.java:58) at com.sap.aii.ibrun.server.map.RUManager.run(RUManager.java:66) at com.sap.aii.ibrun.sbeans.map.MappingRequestHandler.handleRequest(MappingRequestHandler.java:62) at com.sap.aii.ibrun.sbeans.map.MappingServiceImpl.processFunction(MappingServiceImpl.java:72) at com.sap.aii.ibrun.sbeans.map.XMappingServiceObjectImpl0.processFunction(XMappingServiceObjectImpl0.java:24) at com.sap.aii.ibrun.sbeans.map.MappingServiceKey.processFunction(MappingServiceKey.java:10) at java.lang.reflect.Method.invoke(Native Method) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.invokeBean(RFCDefaultRequestHandler.java:73) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:47) at com.inqmy.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:69) at com.sap.mw.jco.JCO$Server.dispatchRequest(Unknown Source) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.run(Unknown Source) at java.lang.Thread.run(Thread.java:479) ---" p3="" p4="">MAPPING.GENERIC</SAP:Code>
<SAP:Text language="EN">Error during mapping</SAP:Text>
</SAP:ErrorHeader>
===========
Any help in resolving these issues is greatly appreciated.
Thanx,
Homiar.Hallo Homiar,
to the first problem:
Do you get the same error, if you test the mapping in the Integration Builder:Design? I mean, you can download the XML instance which is entered into the Message
Mapping zMsgMap in the Integration Engine Monitor (R/3 Transaction SXMB_MONI) and use this XML in the test environment of the Message Mapping in the Integration Builder:Design.
to the second problem:
It looks like that the Message Mapping xMsg_mapping could not be found by the Integration Engine. You can try to reactivate the Message Mapping in the Integration Builder. This is done for example by changing the description of the corresponding Message Mapping object and saving and activating the object.
Regards Franz -
RFC_to_File scenario: error in request message mapping
Hi!
I am configuring RFC_to_File scenario.
The error at the begining is:
com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_Z_RFB_MATERIALEINGABE_PBU_zu_MT
: Fatal Error: com.sap.engine.lib.xml.parser.Parser
Exception of class CX_XMS_SYSERR_MAPPING
When I display the request message mapping are of the message I can see:
<Trace level="1" type="T">Interface-Mapping http://www.sap-press.de/xi/training/PBU_00 IM_Z_RFB_MATERIALEINGABE_PBU_zu_MI_Material_Async_In</Trace>
<Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_MM_Z_RFB_MATERIALEINGABE_PBU_zu_MT_Material_</Trace>
<Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data sections(:main:, row:1, col:202) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:187) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:151) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest
Can some one help me to solve this problem?
Thank you very much!
regards
HolgerHolger,
Message Mapping Failed.
>com.sap.engine.lib.xml.parser.ParserException: XMLParser : #0 not allowed in Character data >sections(:main:, row:1, col:202) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException
You are Passing Char to a field, which is not as per the Message Mapping rule
Cheers
Agasthuri Doss -
Message getting struck at Request Message mapping
Hi All,
In our interface we have Proxy to HTTP scenario. When we trigger data from R/3 system the data is getting blocked at SAP XI system.
In SXMB_MONI when we see the status of the message it doesnot show any error status flag comes with a grey dot .
Generally as per the XI Message process flow it should be some thing like this
Inbound message
Receiver Identification
Interface determination
Message Branch According to receiver list
Request message Mapping
Technical Routing
Call Adapter
Response
When we expand and see the message monitoring it shows the following steps -
Inbound message
Receiver Identification
Interface determination
Message Branch According to receiver list
there is no error messages and you dont see any steps in monitoring after this.
Trace level is set to 3 and also set trace enable for sync interfaces.
Please let me know if some one faced this issue and how to resolve this.
Regards,
Reddy
Edited by: Nanda kishore Reddy Narapu Reddy on Apr 8, 2008 5:31 PMHi Srinivas,
If receiver determination gets fail then it should give a error in SXMB_MONI messages.
In the trace messages of the "Message Branch According to Receiver list" step in SXMB_MONI we are getting the details of the receiver and also the Communication channel need to be used also correctly.
I would like to stress that after this step in sxmb_moni it should trigger "Request message mapping" step but it is got getting triggered.
Pls let me know if some one faced this issue or is it because of some cache related issue which is stopping the call to trigger message mapping.
Reagrds,
Reddy -
Problem in 1toN message mapping,payload not populated but file created
I am doing 1:N multimapping From Proxy to File scenario .Proxy send three types of data all having same stucture but depending on the value of First field we split the whole stucture in 3 parts on target side and generating three files on taget side.During testing values get Passed from the SXMB_MONI(processed) and we get whole payload data upto
"Message Branch Acording to Reciever List" .But when i check payload data in 'Request Message Mapping" we donot get any data in Payload.Taget File is generated but when we try to oen the file I get message " Unable to display the File".
can any expert help me resolve this problem.I need to generate 3 files each having similar structures depending upon the first field 'listcode' values whose values are 'N0','MA','MY' coming in a proxy structure.The source structure is as follows::
MT_Source
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
The target stuctures are:
MT_Target_N0
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
MT_Target_MA
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
MT_Target_MY
>Detailrecord..0..unbounded
>listcode..0.1...xsd:string
>itemcode...0.1...xsd:string
>description1...0.1..xsd:string
>description2...0.1..xsd:string
I need to do mapping of such 1:n multimapping mapping.I have done mapping but getting error in moni "Split mapping created no messages".Please suggest me some right way to do mapping -
Request message mapping failed in QAS server
Hi ,
I've transported the Developed objects from DEV Server to QAS Server using CTS method , now when i m making any changes in the development system and re transporting it back to quality server , its showing one or the other error ,
In one case it shows "Request message mapping failed" just we added one filed and mapped it. The filed can be seen in the repository but in the moni it says this filed is missing even though it is working fine in development, but in quality , i dont know why this problem is coming
The scenario is jdbc -
> xi ---> proxy,
this problem is only is quality , in dev its working fine
pl help , i running short of time ,
rgds
mojibRavi,
In test tab , both in message mapping and configuration , its successful but still this error..
rgds
mojib -
Request message mapping giving blank xml message
I was trying a scenario JDBC-> XI -> RFC for tranporting the db table data from sqlserver to sap r/3.
At the time of designing the mapping is working correctly.
But in the pipeline step "Request message mapping" it is generating the inbound message but with any values from outbound source message.
source message (xml ) structure
<?xml version="1.0" encoding="UTF-8"?>
<ns0:CUST_REQ_MT xmlns:ns0="urn:sqlserver:vendor">
<row>
<NAME></NAME>
<ADDRESS></ADDRESS>
<AGE></AGE>
<LOGIN></LOGIN>
<PASSWORD></PASSWORD>
</row>
</ns0:CUST_REQ_MT>
and target message structure is
<?xml version="1.0" encoding="UTF-8"?>
<ns0:ZBAPI_UPDATE_JDBC xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
<UPDATE>
<item>
<NAME></NAME>
<ADDRESS></ADDRESS>
<AGE></AGE>
<LOGIN></LOGIN>
<PASSWORD></PASSWORD>
</item>
</UPDATE>
</ns0:ZBAPI_UPDATE_JDBC>
I have used the Graphical mapping tool for mapping these two MT's.
the payload in the request message mapping step is as follows:
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:ZBAPI_UPDATE_JDBC xmlns:ns0="urn:sap-com:document:sap:rfc:functions">
- <UPDATE>
<item />
</UPDATE>
</ns0:ZBAPI_UPDATE_JDBC>
here you can see a blank tag <item/>.
How can i resolve this issue. I can not see any error anywhere.
Regards,
GopeshHi,
It is not the issue of the datatype for outbound message for jdbc sender.
I have done the Graphical mapping and mapped the sourse message type to target message type (which is a rfc xml format request message type).
But when all the IR and ID objects activated and it comes to Runtime (integration server) then it is unable to execute the mapping in the xi pipeline step "Request Message Mapping" and generating a blank xml element as i have described earlier in my message.
What should i do or where should i check for the possible reasons and what could be the solution for this issue.
Regards
Gopesh -
Problem while activating message mapping
Hi all,
I am facing a problem while activating message mapping in IR.It says Object being edited by XXXX and cannot be activated.It's giving my user name itself and even it doesn't allow to go to edit mode even.But I am not opening it twice.How to monitor all the XI users logged into the XI system and find the users using IR and ID objects.Please help in this regard.
Thanks.Hi Jaya
It is .....
http://<host:port>/rep/support/public/LockAdminService
Hope this helps !!!
Regards,
J Augastine -
Soap lookup in PI7.31 message mapping
Hi All,
I have a soap lookup created in UDF in PI message mapping
I am taking material id from the source structure and use it as input parameter for the lookup webservice
Here is the UDF code which takes material number and returns the internal id
AbstractTrace trace = container.getTrace();
String matintid = "";
try {
//instance the channel to invoke the service.
Channel channel = LookupService.getChannel("BS_Bus","CC_SearchLookup");
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
// The Request message in XML. THIS IS THE LOOKUP SERVICE
String SOAPxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><searchTM_MATERIAL>xmlns:ns0=\"MDM_MAT_Search_MDM"><query><criteria><fTX_MATERIAL><constraint><value>"
+a
+ "</value><expressionOperator>equals</expressionOperator></constraint></fTX_MATERIAL></criteria></query><reposInfo><repositoryName>REP_MATERIALS</repositoryName><serverName>mdm6765</serverName></reposInfo></searchTM_MATERIAL>";
InputStream inputStream =new ByteArrayInputStream(SOAPxml.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
Payload SOAPOutPayload = null;
//The response will be a Payload. Parse this to get the response field out.
SOAPOutPayload = accessor.call(payload);
/* Parse the SOAPPayload to get the SOAP Response back. */
InputStream inp = SOAPOutPayload.getContent();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
/* Create DOM structure from input XML */
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inp);
NodeList matlist = document.getElementsByTagName("tM_MATERIAL");
Element material = (Element) matlist.item(0);
NodeList recidlist = material.getElementsByTagName("recordIdentification");
Element recidnode = (Element)recidlist.item(0);
matintid = recidnode.getNodeValue();
trace.addInfo("matnid is" + matintid);
} catch (Exception e) {
trace.addWarning("Error" + e); }
trace.addInfo("Service XXX success executed");
return matintid;
This is giving a java null point error
Errorjava.lang.NullPointerException: while trying to invoke the method org.w3c.dom.Element.getElementsByTagName(java.lang.String) of a null object loaded from a local variable at slot 16
Any idea whats going on? I am able to get response for the webservice using SOAP UI
And here is the soap input and output in SOAP UI execution
Input
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:MDM_MAT_Search_MDM" xmlns:urn1="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:urn2="urn:com.sap.mdm.ws.beans" xmlns:urn3="urn:com.sap.mdm.core.beans">
<soapenv:Header/>
<soapenv:Body>
<urn:searchTM_MATERIAL>
<urn:query>
<!--Optional:-->
<urn1:criteria>
<!--Optional:-->
<urn1:fTX_MATERIAL>
<urn2:constraint>
<!--Optional:-->
<urn2:value>12345</urn2:value>
<!--Optional:-->
<urn2:expressionOperator>equals</urn2:expressionOperator>
</urn2:constraint>
</urn1:fTX_MATERIAL>
</urn1:criteria>
</urn:query>
<urn:reposInfo>
<urn3:repositoryName>REP_MATERIALS</urn3:repositoryName>
<urn3:serverName>mdm1234</urn3:serverName>
</urn:reposInfo>
</urn:searchTM_MATERIAL>
</soapenv:Body>
</soapenv:Envelope>
Output:
<SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body xmlns:rpl="urn:MDM_MAT_Search_MDM">
<rpl:searchTM_MATERIALResponse xmlns:rn0="java:sap/standard" xmlns:rn1="urn:com.sap.mdm.ws.beans" xmlns:rn2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rn3="urn:com.sap.mdm.core.base" xmlns:rn4="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:rn5="urn:com.sap.mdm.core.beans">
<rpl:Response>
<rn1:executionStatus>
<rn1:status>OK</rn1:status>
<rn1:description>Search/Retrieve done successfully</rn1:description>
<rn1:dataObject>Records 1..1 of 1 found</rn1:dataObject>
</rn1:executionStatus>
<rn4:tM_MATERIAL>
<rn4:fTX_MATERIAL>12345</rn4:fTX_MATERIAL>
<rn4:recordIdentification>
<rn4:internalID>1267</rn4:internalID>
</rn4:recordIdentification>
</rn4:tM_MATERIAL>
</rpl:Response>
</rpl:searchTM_MATERIALResponse>
Thx
mikeHi Mike,
What I suspect is, you get a null pointer exception because the XML tag name which you are trying to retrieve, has a namespace. Could you please instead try to use:
getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
Returns a NodeList of all the Elements with a given local name and namespace URI in document order.
Let us know if it works.
Regards,
Shweta -
Problem in Graphical message mapping
Hi all,
I am doing an HR file to file interface.I am struck in message mapping.Actually my source message type contain four structures i.e infotype00 ;infotype01;infotype02;infotype05;every infotype has one PERNNO,BEGDA&ENDDA along with other fields.in target i have to extact employee recors from these 4infotypes.Target structre is :EMPLOYEE
fields...
Now I had to generate as many employee as many unique PERNNO i.e if all four infotype has same PERNN then it is considered detail of one employee if any infotype has diff.PERNNO then we have to create one more employee record for that infotype.I used a custom functionUNIQUE and get all unique infotype then on the basis i was creating employee.i.e if 3 unique PERNNO then 3 employee record has to be created.It was working fine,But one new requirement came that I have to compare BEGDA of all infotype and if any infotype has BEGDA more than current date then for that PERNNO i dont have to create Employee records.i.e suppose for PERNNO 8 infotype0 has BEGDA more than current date then i dont have to create employeerecord for PERNO 8.This new requirement i am unable to implement.please guide me how to proceed further i.e after getting the unique PERNO.Please do the needful as its very urgent.
regards,
SaurabhHey saurabh,
once you are able to obtain unique PERNNO,
you need to use two date functions.
CurrentDate: It will return the system date(todays date).
CompareDate: It will take as input two values(as dates) and gives output based on their values.
output of comparedate funtion will be:
-1 if second value is greater than 1st value.
0 if second value is equal to the first.
1 if second value is less than the first value.
what you can do is take currentdate function as first input for comparedate.
BEGDA as second input for comparedate.
if the value is -1(i.e BEGDA is greater than current date SUPPRESS the node or else create the node)
make sure the format of current date and BEGDA are same. -
Problem in activating message mapping
hi all,
When I try to activate the message mapping, it is saying that my namespace does not belong to my s/w component,
So I checked my namespace, it was not active. I tried activating it but it says user pi7gen is currently editing the namespace.
But no one is logged into the PI system except me (I checked it in sm12). Kindly help me with this issue.
Thanks and Regards
ManoharanHi Manoj,
Here is the direct URL to remove lock from your object use this if your facing any problem in above mentioned ways.
http://<ServerName>:<port>/rep/support/public/LockAdminService
<port> is generally 50000 <Server name> is same which used fro opening Integration builder .
Regards,
Saurabh -
Problem in Graphical message mapping.Need UDF to add array based on some co
Hi All,
I have been struck in message mapping.Below i am explaining it,
I have two input array,
one array lets call X [24]
[25]
[26]
[24]
[25]
other array is Y [10]
[11]
[12]
[13]
[14] .length of both the array will be same .
Now I want the output as: if there is any same value in first array i.e array X then corresponding value of second array should be added.i.e in array X if 24 is coming as twice (1st and 4th) then 1st and 4th value of array Y will be added.So here there will be only three output as Z[23]
[25]
[12]
Please guide me if posiible .I tried to use the for loop but its not working as the value of X is repeating.
Regards,
SaurabhHi,
Tru this..
public void test(String[] a,String[] b,ResultList result,Container container){
int flaga,flagb;
for(int i=0;i<a.length;i++)
flaga =0;
for(int j=i+1;j<a.length;j++)
int p = Integer.parseInt(a<i>);
int q = Integer.parseInt(a[j]);
if(p==q)
flaga =1;
int c = Integer.parseInt(b<i>)+Integer.parseInt(b[j]);
String d = new Integer(c).toString();
result.addValue (d);
if (flaga ==0)
flagb=0;
for(int q =i-1; q>=0;q--)
if(Integer.parseInt(a<i>) == Integer.parseInt(a[q]))
flagb = 1;
if (flagb == 0) result.addValue((b<i>));
I have tested with the same input... it is working for me
http://www.flickr.com/photos/28929439@N06/2721471681/
Thanks
SaNv...
Maybe you are looking for
-
My matched songs in iTunes on my computer show all the artists, but most artists do not show up in Music on my iPad or iPhone? I recently fixed the song titles coming back from Match update changed to Track ** by going thru every song's info (command
-
Cancel the Credit memo genarating wrong accounting entry
Hello, We are facing when we Cancel sales credit memo credit memo genarating wrong accounting document entry in production system. Same scenorio i have replicated in quality system and working fine. I have checked the billing type for credit memo s1
-
Nokia JUST released (yesterday or daybefore) an awesome new app for the Lumia 800, called 'Creative Studio' This app brings the much awaited Panoramic Imaging function as well as a bunch of other cool features to the Lumia 800. Absolutely the coolest
-
I have had my MBP for about a week now and have noticed it runs very hot. I am using istats to check the CPU temps and they are exceeding 180F! Normally it will sit from 150 to 170F, and is always very very warm to the touch, when it hits 180+ its bu
-
I am having trouble with images loading on firefox. At first I tried to clear cookies and cache. When that didn't work I went to the content menu in the options to check on that. But then I saw that "enable images automatically" and "enable javascrip