SOAP Lookup in PO 7.30 Single Stack.
Hi,
I am creating a scenario from HTTP to File . In between Message Mapping has SOAP Lookup .
But While I executing the Sceanrio, I am facing some error .
Now While reading lots of Blogs over Internet , Some of them pointed towards Creating a Dummy ICO (mandatory in PI 7.30 ) for SOAP Lookup.
So Now my Question are :
1. Why are we creating this Dummy ICO ?? what is the purpose ??
2. How do we create it ?? - Need to know abt Sender Service Interface , Sender Communication channel , Receiver Service Interface ??? What would be these values while creating a Dummy ICO ???
Regards
PS
Hi, the dummy ICO is actually not needed for the lookup, but may fix a bug as stated in your previous thread http://scn.sap.com/message/14054811#14054811 as well as it is meant to test and verify that your SOAP receiver actually works.
Did you follow SAP Help Using the Lookup API in a Message Mapping, especially using a mapping parameter of type Adapter and using the parameter as demonstrated in Implementing Lookups Using SystemAccessor?
I see in your previous thread Error while SOAP LookUp in PI 7.3 Single Stack. that you hardcoded the channel name and business component to retrieve the channel
Channel channel = LookupService.getChannel("BC_Successfactors_Two_D","CC_SOAP_Receive_SessionCreate");
Implement as recommended by SAP Help (above links) may be it solves your problem.
Similar Messages
-
SAP PI 7.3 Single stack- Set tracing and logging
Hi experts
We have configured a SOAP to SOAP sync scenario in SAP PI 7.3 single stack(Java Only).
I have sent some test messages from WSNavigator to PI .
But when i checked messages in adapter engine, it is showing*"Unable to retrieve payload or you don't have sufficient authorization to view the content" I am able to monitor payloads of Async messages.
How can we set Logging and trace levels in Single stack PI? I couldn't find any options in RWB os NWA.
Thanks,
DhanishHello Dhanish,
As it was stated by Kenneth in his post, if you would like to see payload of a synchronous message in Message Display Tool (e.g. from Runtime WorkBench), you should set value of property messaging.SyncMessageRemover.removeBody of J2EE service XPI Service: Messaging System to 'false'. Please note that this affects only synchronous messages in final states (DLVD and FAIL).
Regarding the second part of your question - logging. In PI 7.3, you can persist the message in Adapter Framework in two ways - stage it or log it. Staging allows you to edit/restart the message later from the stage where the message was persisted and is relevant for asynchronous messages; logging allows you to only display the logged message and is relevant for both synchronous and asynchronous messages. Please also note that staging affects performance of message processing more greatly than logging, extensive staging (e.g. staging on several processing stages) can even be a reason of performance degradation for processed messages, so if you only need to display details of the message on different processing steps in Adapter Framework, logging should be sufficient. Both staging and logging can be configured using properties xiadapter.stage.conf (for staging) and xiadapter.logger.conf (for logging) of J2EE service XPI Adapter: XI.
Regards,
Vadim -
PI 7.4 single stack web service adapter alternative
Hi All,
Looking at upgrading from 7.11 dual stack to 7.4 single stack and I know the web service adapter is no longer available (at least according to anything I have read, but I understand it is in the pipeline).
How do we provide and consume web services on a single stack environment?
I have looked hard, but if the answer has been before me I have failed to recognise it due to my own limitations.
If someone could point me in the direction of any articles/blogs/discussions that answer my question or can answer the question I would be very grateful.
thanks in advance
JulianHello Julian,
WS adapter has not been migrated from ABAP stack to Java stack so far - so, in Java-only installation options of PI, there is no analogue for it from functional replacement perspective.
For web services consumption, the SOAP adapter can be used, but it is applicable for plain SOAP communication, not for WS-RM.
Regards,
Vadim -
Want to learn SAP PI 7.4 Single stack
Hi Experts,
I am a beginner in SAP PI and started by journey with SAP PI 7.0. Now, we are upgrading it to SAP PI 7.4 single stack.
I want to learn it as much as possible before the migration but when I search for the topics in SCN, I am getting confused with the different topics and its naming conventions explained. (For Eg PI and PO). So, will it possible for you experts to provide me the links which can actually help me to get the full depth knowledge on PI 7.4 (Single stack). Am just hoping to be a productive member of this SAP family:)
Regards,
AdarshHi Adarsh,
SAP Process Orchestration is the new name of SAP Process Integration (SAP PI). SAP changed the name with the release 7.3 to include the additional features of SAP NetWeaver Business Process Management (nBPM), Advanced Adapter Engine Extended (AEX) and SAP NetWeaver Business Rules Management (BRM).
Source - Latest version is SAP PO 7.4 or SAP PI 7.4 (commonly known as of now). Good part is that PO 7.4 license includes BPM and BRM. Till PO 7.4 SAP still provides the dual stack (ABAP + JAVA) option to install. But going forward it would be single stack (JAVA) only i.e. only swing tool for ESR and ID or NWDS. no more transactions/tocde.
From a developer standpoint:
You got all adapter based on JAVA. IDOC and HTTP are now IDOC_AAE and HTTP_AAE, also proxy scenario can be done using SOAP adapter XI protocol and there is no ccBPM.
Regards,
Sachin Dhingra -
How to put a single stack item to an album?
Maybe a silly question, but I can't find out how to put a single item from a stack into an album. When I drag a stacked item to an album, the entire stack appears in the album. This is not what I want, I want to get the single item in the album.
I know I can make a single stacked item in an album to be the albumpick. But this is not enough. Sometimes I need to put two items from the same stack into this album.
Koen
Message was edited by: Koen van DijkenKoen van Dijken wrote:
Would this be as designed, and so a wrong use of stacks by me?
It is as designed but I don't think what you want to do is a particularly wrong use of stacks. I can see using stacks as a way to reduce clutter in the browser but still wanting to be able to get to individual images in the stack to use..
What is interesting is the wording in the Aperture users guide concerning stacks:
Dragging Stacks
You can drag an entire stack to a new location, *and you can drag specific images within a stack to a new location*. When a stack is closed, dragging the stack moves the entire stack. *When a stack is open, you can drag individual images to new locations in the Browser*. You can also drag images into a stack. If you drag an image within a stack into a different project, however, the entire stack moves to the new location.
(emphasis added)
So the first part sounds like you should be able to drag an image out of the stack to an album, the second just mentions dragging an image out of the stack in the browser.
And in way you can do this, the only thing is what you end up doing is unstacking the image you drag out. Not exactly what you would want to do.
I think it should be OK to place individual stack items into albums and have them remain in the stack. Any reason this would be a bad idea? -
How to get Test Utility for PI 7.3 Single Stack JAVA only.
Hi All,
We are having PI 7.31. Single Stack JAVA only.
we want to test some scenario. Can anybody tell me how can i test the scenario in PI 7.3
is there any test utility by which i can send some test messages to PI 7.3.
from where to download this utility.?
Regards,
UmeshHi,
The test message functionality is currently available in PI dual stack only..
Lets hope that in future releases this functionality may available in Single Stack also.
Regards,
Mastan vali -
PI 7.1(dual stack) and PI 7.31(Single stack) -
Friends,
I have a proxy to proxy scenario - Proxy --> PI --> Proxy
We have two servers PI 7.1(dual stack) and PI 7.31(Single stack)
i did the development in ESR and my ESR is pointing to PI 7.1, when i execute the scenario i receive one error message "receiver could not be determined", i ensured that all my input is correct, still i get the same error message.
the expectation is my scenario should point to PI 7.31, Can some one help me where and what settings i need to make in-order to make it work.
Please Note: All my data is correct and i read some scn forums wherein they asked to refresh the cache , i have refreshed the cache also still the problem persists.
Thanks in advance!Iñaki Vila
Communication component in ID is the same as sender side.
could you share your sender configuration?
Did you mean Tcode - SXMB_ADM and under that Sender/Receiver configuration
Krupa Rao Atluri
In ID steps are correctly defined.
I spoke to my colleague he hinted that at RUN TIME we want to point to PI7.31, he mentioned config change needed in SXMB_ADM
any further inputs from any one could be useful. -
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 -
How to send a text attachment by using jdbc to mail scenario Using single stack 7.31
Hi Experts...
We are currently Single Stack SAP 7.31
I have a Scenario that is "JDBC to MAIL" ...here i need to pick a data from data base and i have to sent that data as a .txt attachment to mail by using mail adapter...
here i have created DT, MT SI, MM,OP > ESR PART
when coming to ID > BC,CC,ICO
Were all the channels are running... MESSAGE ID is generated ... But I was not getting any MAIL to my Email ID...
While i was configuring the RECIEVER mail communication channel i have seen the tab that is "MODULE CONFIGURATION"
DO we have to do any MODULE CONFIGURATION.. If it is needed please let me know how to do....?
It would be appreciated can some one explain me step by step Of this MODULE CONFIGURATION ... Are send me some SCREEN CHARTS OR LINKS to under stand......
Thanks in Advance ...!!!!!!!!!!!!
Thanks,
vinayHi Experts...
We are currently Single Stack SAP 7.31
I have a Scenario that is "JDBC to MAIL" ...here i need to pick a data from data base and i have to sent that data as a .txt attachment to mail by using mail adapter...
here i have created DT, MT SI, MM,OP > ESR PART
when coming to ID > BC,CC,ICO
Were all the channels are running... MESSAGE ID is generated ... But I was not getting any MAIL to my Email ID...
While i was configuring the RECIEVER mail communication channel i have seen the tab that is "MODULE CONFIGURATION"
DO we have to do any MODULE CONFIGURATION.. If it is needed please let me know how to do....?
It would be appreciated can some one explain me step by step Of this MODULE CONFIGURATION ... Are send me some SCREEN CHARTS OR LINKS to under stand......
Thanks in Advance ...!!!!!!!!!!!!
Thanks,
vinay -
Getting cryptic error while trying to post to a custom RFC from PI 7.31 single stack.
com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: String index out of range: 0 (raised by system <extern>|pidevhost)
Does anyone recognize this error and/or know of detailed instructions for registering custom RFCs in PI 7.31. I could possibly have configured the target wrong but no error says so.
This is a File-->PI-->RFC scenario. The file processing is super simple and a configuration I have used successfully before. I would assume I'd get a different error if it couldn't parse the file.
JodyNot shure if you already did but try getting some details with XPI Inspector. Also increasing log level for this category might help. You also may wanna check authorization (even if this should show with a different error text) in ECC using ST01.
My guts feeling is that there is something wrong with payload / signature of RFC.
Cheers
Jens -
How to track the Inbound child IDOcs in PI 7.4 Single stack
Hi Friends,
I would like to know the procedure of tracking the Inbound child IDocs in PI 7.4 Single stack.
Here is the detailed description.
Say we are getting the data from third party system and the message may have multiple IDOcs in it. The message has processed successfully from PI and reached to the target system(ERP). So, now my question is how to track the IDOc count with in that message.
Please suggest on the same.
Thanks in Advance,
Venkateswarlu.Hi Hareesh,
Thanks for your inputs. According to the link IDOC Status, Tracking in SAP PI/PO Single Stack I am thinking the required funcionality is not there in PO 7.4, but still i would like to have little more clarity before moving further.
I will explain what what was happening in PI 7.11 so that you can understand what i am looking for in PO 7.4.
We will get the data from third party system in xml format, we had to search for the messages based on interface name and time range within SXMB_MONI. After getting the result(say the output is 100 messages), we will download the values of "Outbound Reference" field(which is a key to find the child messages for messages resulting in an Interface Collection). Below is the snap of Outbound Reference field for your reference.
Now we will go to the table IDXRCVPOR in SE16(within PI) and put the values of Outbound Reference field in Text 24 and execute. Here we will get all the child messages.
Now please let me know if this kind of scenario is possible in PO 7.4.
Thanks,
Venkat. -
Dear experts,
The scenario is file to file with a soap lookup. certain records are inserted using lookup in mapping.
The records which can not be inserted, along with the error code from the webservice response has to be sent to a database table. Please suggest the options .
Thanks ,
Ajuhi,
generelly lookup is used to find the value which was not present in the sender structure ,and u need to find that, based on some field value in sender side from another system/server.
in youe case make sych soap message interface.
generate the soap request which used to fatch the value from other system .
if system not get any value for that it will return the error message.
map the responce message with the requird target field value.
please find the link for jdbc lookup
/people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
regards,
navneet -
SOAP Lookup with username and password
I am doing a lookup using a Java UDF from PI message mapping using a SOAP receiver channel by passing a username and password to get a value from a webservice. This is passed to a field in the target side. Everything works fine.
But I want to avoid hardcoding the username and password sent in the XML for the lookup in the UDF. Anyone has any suggestions?
Thank you.Hi Param,
Are you passing the userid and password in url of SOAP Lookup? You can try using value mapping to get the password for a given username..
Else maintain it in SOAP channels and for each user id try selecting a different SOAP channel.. HEre also you can use value mapping for userid = soapchannel relationship.
Regards
Suraj -
Hi,
I am trying to use the SOAP lookup within an UDF. The example in Bhavesh blog worked great and when I plug in my web service lookup I have run into all sorts of issues.
My response message from the webservice looks like this:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<GetMappedToValueByIDOutput xmlns:ns1="http://www.abc.com/mappedvalue/output" xmlns=" http://www.abc.com/mappedvalue/output ">
<ns1:OutputData>
<ns1:MapValue>This is the mapping lookup result </ns1:MapValue>
<ns1:MapID/>
</ns1:OutputData>
</GetMappedToValueByIDOutput>
</env:Body>
</env:Envelope>
But I am getting the following error after I plug in the UDF into the message mapping and testing with the integration mapping.
Parsing Error: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.'. Cause Exception: 'java.io.IOException: Parsing Error: org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-formed.'.
Anything that I am missing here?
TeresaHi Teresa,
Check this links
http://commons.apache.org/jelly/apidocs/org/apache/commons/jelly/parser/XMLParser.html (for checking your code)
http://wiki.sdn.sap.com/wiki/display/Snippets/JavaSAXParser
http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417200)ID0472795050DB10618552826614657928End?blog=/pub/wlg/9618
Regards
Ramesh -
Viewing SOAP Lookup Payloads in PI 7.1
Hi All,
I'm performing a SOAP lookup in my message mapping using a UDF and the SystemAccessor api.
However, in RWB I'm unable to view the payload under the SOAP channel.
I get a 404 resource not found error when i click on the payload link.
Here is what I've tried so far:
1) Set Logging_Sync to 1 in SXMB_ADM for Runtime.
2) Set messaging.syncMessageRemover.removeBody to false in NWA.
What am I missing?
Thanks,
HarshHi Shabarish!
How are things?
Under conversions I see only JDBC and RFC Lookups!
Am I missing something?
/people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
Thanks,
Harsh
Maybe you are looking for
-
Hi Gurus, I have been trying to find more information regarding the WITH CLAUSE, but most of the info I find is related to Forums. Do you know where i could find Oracle specific documentation on this? I really like using that clause, but i have notic
-
Why does my iPad store show wrong id
In my settings, it shows the right Id. When I go into store to get items or updates, it shows wrong id. How do I fix this?
-
Our system: Oracle 11GR2 on Linux X64 CentOS. I followed instructions like here: http://www.oracle-base.com/articles/11g/NativeOracleXmlDbWebServices_11gR1.php, so far so good, I can display the WSDL on broswer. Now for real world testing, I wrote a
-
Duplicate Shared Items in Sidebar
Hi: Weird one. Suddenly all the shared items in my sidebar are doubled. I have Capsule and Capsule (2), NashServer and NashServer (2), etc. Deleting the finder prefs dosn't fix it. Flushing caches does nothing. That is about the extent of my ski
-
Printing with R1800 and Mac - now getting beautiful prints - thank you everyone
I want to give a huge "thank you" to all the people on this forum who have discussed how to set up color-managed printing on Epson printers. As a complete novice, I naively bought an R1800 printer and thought that I would just whip out my prints at h