Use of adapter specific mess atributes,variable transportbinding in mailada
hi all.
i just want to know what is the purpose of adapter specific message atributes,variable transportbinding in mail reciever adapter .
one more thing is wat for VARIABLE HEADER NAME1,NAME2,NAME3.
waiting for your any great answer.
bye.
regards.
seet
check this for the receiver mail adapter
http://help.sap.com/saphelp_nw70/helpdata/en/ae/d03341771b4c0de10000000a1550b0/frameset.htm
this blog would help u more
/people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure
Similar Messages
-
Purpose of adapter specific message atributes at sender,reciever file adapt
hi.
i want know birefly about adapter specific message atributes at sender ,reciever adapters.
and what would be the result if we enable this adpspecmessatb checkbox
waiting for your response.
bye.
regards.
seeta ram.hi santosh .
thanks for yor your answer.
but when i mapped constant a to the udf and mapped to target and while iam testing i got the error like
10:38:30 Start of test
Compilation of MM_SapIsuTo3rdpartyAccountStatementExtraction successful Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:350) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:282) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:312) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:401) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:142) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:105) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.execute(MapServiceRemoteObjectImpl0_0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.NullPointerException at com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_.filename$(_MM_SapIsuTo3rdpartyAccountStatementExtraction_.java:119) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:MT_SapisuTo3rdpartyAccountStatementExtraction/accstmtdetails/body/status. The message is: Exception:[java.lang.NullPointerException] in class com.sap.xi.tf._MM_SapIsuTo3rdpartyAccountStatementExtraction_ method filename$[a, com.sap.aii.mappingtool.tf3.rt.Context@421badd8]
10:38:37 End of test
what would be the reason for this.
waiting for u r response.
bye.
regards.
seeta ram. -
Use of "Adapter-Specific Message Attributes"?
Hi,
What is "Adapter-Specific Message Attributes" and when should we use this?
Is it different for sender and receiver channel? Please help.Hi Aamir,
You can refer these links too.
What is "Adapter-Specific Message Attributes" and when should we use this?
Adapter specific message attribute in pi 7.1 | SCN
Is it different for sender and receiver channel?
Adapter-Specific Message Attributes in the Message Header (SAP Library - Partner Connectivity Kit) -
Adapter specific attributes - SOAP Adapter
Hi,
I am trying to use the adapter specific attributes of the receiver SOAP adapter. But I am not able to view the Dynamic configurations in sxi_monitor corresponding to this message. Any clue why!?
I read through the SOAP adapter help on help.sap.com,
<i>http://help.sap.com/saphelp_nw2004s/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/frameset.htm</i>
Here it says:
<i>If you want to use header fields, set the relevant indicator for Variable Header. The technical names for the fields are XHeaderName1, XHeaderName2, XHeaderName3. The parameters are embedded in the HTTP request under the names you enter here.</i>
But I donot find an option where I can enter the names. Am I missing something here?
Regards,
Smitha.Hi Smitha,
I did not try to use adapter-specific attributes with SOAP-adapter, but with mail-adapter. The documentation is quite similar, so I excpect similar results...
So as far as I understood, the parameters XHeaderName1, ... etc are for dynamic extension of the set of adapter-specific attributes. For example, if you want to add some more information in the message header, you can program an adapter module and you have now a guide how to name the additional attributes.
Usually, the "standard" adapter-specific attributes are starting with "S" (Sender) or "T" (Receiver). You can find the names in the documentation of the SOAP-adapter.
In order to use the adapter-specific attributes, you have to check both indicators (adapter-specific attributes, variable transport binding). If this still doesn't work, you should use OSS. In my scenario (mail adapter) this didn't work, too. The reason was, that there was a bug in the adapter metadata (Integration Repository) of SAP BASIS. There was a SAP note, where I could download the correct adapter metadata. Maybe you can find a SAP note for the SOAP Adapter.
Although this is probably not the final solution, I hope this guides you a step further.
Regards,
Torsten -
SOAP Use Adapter-Specific Message Properties and Variable Transport Binding
Hi Friends,
I am new to use to Soap Adapter. Please help me out bellow doubts.
1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
2. Where exactly we r using below parameters.
Remote User : (technical name: SRemoteUser )
Remote Host : (technical name: SRemoteHost )
SOAP Action (technical name: SHeaderSOAPACTION )
To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
Variable Header : (technical name: XHeaderName1 )
Variable Header : (technical name: XHeaderName2 )
Variable Header : (technical name: XHeaderName3 )
Thanks&Regards
G.BhanuprakashHi,
1.When you use Use Adapter-Specific Message Properties and Variable Transport Binding .
SAP Help says both are needed to be checked when you want to process adapter attributes
Configuring the Receiver SOAP Adapter - SAP NetWeaver Exchange Infrastructure - SAP Library
These attributes can be get/set using dynamic configuration and their technical names are what you have pasted:
Remote User : (technical name: SRemoteUser )
Remote Host : (technical name: SRemoteHost )
SOAP Action (technical name: SHeaderSOAPACTION )
To transfer further header fields, set the relevant indicator. You can then store the following attributes and their values in the XI message header:
Variable Header : (technical name: XHeaderName1 )
Variable Header : (technical name: XHeaderName2 )
Variable Header : (technical name: XHeaderName3 )
Remote User - the username used to send a message to the adapter engine using SOAP
Remote Host - hostname which the remote user used
SOAP Action - SOAP Action of the XI webservice (sender) / SOAP Action of the receiver webservice
Variable Headers are additional key-value pairs in the HTTP Header that could be accessed in the XI Header using dynamic configuration. The limit is only three though.
Regards,
Mark -
Using Adapter-specific attributes in Mail adapter
Hi,
I try to use adapter-specific attributes in my Mail adapter. I set the "Use Adapter-Specific Message Attributes" indicator, but I do not get a result in the mapping and also in the SXMB_MONI the attributes are not visible.
The documentation also refers to Variable Transport Binding indicator:<a href="http://help.sap.com/saphelp_nw04/helpdata/en/23/c093409c663228e10000000a1550b0/content.htm">http://help.sap.com/saphelp_nw04/helpdata/en/23/c093409c663228e10000000a1550b0/content.htm</a>
Could this be the problem? I cannot find this indiciator! Does anyone know where I can find this indicator?
Regards,
TorstenHi,
The values for the parameters, set using adapter specific message attributes are available at runtime in the path http://sap.com/xi/XI/System/Mail.
We need to write UDF's that can extract the values from this path.
For Ex:
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters() .get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create(
http://sap.com/xi/XI/System/File,
FileName);
String valueOld = conf.get(key);
if (valueOld != null) {
String valueNew = valueOld.replaceAll(input,output);
conf.put(key, valueNew);
If you check Dynamic configuration in sxmb_moni, you would be able to find the values for all the attributes that have been set in the adapter.
Regards,
Smitha. -
Dequeue (using a AQ Adapter) based on a "Variable" condition
Hi,
I use an AQ Adapter to dequeue messages from an AQ and send it to an BPEL process. I have setup the adapter for conditional dequeuing as follows:
My message object has a field called "title" so in my adapter i use the Dequeue condition as below and it works perfectly:
<jca:operation
ActivationSpec="oracle.tip.adapter.aq.inbound.AQDequeueActivationSpec"
QueueName="DETPAYLOAD_QUEUE"
DatabaseSchema="APPS"
DequeueCondition="tab.user_data.title='Test Case'"
OpaqueSchema="false" >
</jca:operation>
My question is : Is it possible to configure the adapter based on a Variable in the BPEL process?
For example: Can i use the DequeueCondition as : DequeueCondition="tab.user_data.title=Process_Variable" (where Process_Variable is a BPEL process variable that has been populated in the previous activity)
I have tried some of the below ways to get this working but have not been successful so far. Has anyone tried this before?
- DequeueCondition="tab.user_data.title=(String)getVariableData("Process_Variable")"
- DequeueCondition="tab.user_data.title=:Process_Variable"
- DequeueCondition="tab.user_data.title=@Process_Variable"
Thanks,
AmolThat's the way.
-
Using adapter specific message attributes in SOAP adapter configuration
Hi,
Can you please let me know how to use adapter specific message attributes in receiver and sender SOAP adapter configuration. If possible , with example.See here:
Adapter-Specific Message Attributes in the Message Header
http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
Sender Soap Adapter:
http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
Receiver Soap Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm -
Error using XI HTTP adapter specific message attribute URL parameters
Hi XI gurus, in our XI 7.0 SPS11,
we have problem using URL parameters of plain HTTP receiver adapter.
If I set Adapter specific message Properties in communication channel and activate switch for Apply URL parameters (using Parameter 1 to 5) filling them using message mapping, we have no effect; instead we have error "Dynamic Header - Missing Message Attributes: Fields/Parameters".
We carried out this test:
1. not using adapter specific message attribute and setting
a static URL target with fixed parameters it runs correctly.
2. using adapter specific message attribute for target
URL and URL parameters both doesn't runs correctly.
3. using adapter specific message attribute only for target
URL doesn't run correctly.
These attribute key used for URL parameters:
URLParamOne
URLParamTwo
URLParamThree
URLParamFour
URLParamFive
Namespace: http://sap.com/xi/XI/System/HTTP
Can you solve this issue? Are there oss notes, corrections, ...
Thanks in advance.
Marco TricaseSome other test done with TCP gateway.
Activated adapter specific message properties for
*URL
*HTTP Header fields (one header field named "lisca")
*URL Parameters (one param named "objectType")
The HTTP message catched by TCP Gateway
POST /csl/cslinker HTTP/1.0
content-type: text/xml; charset=UTF-8
content-length: 318
connection: close
accept: /
user-agent: SAP Web Application Server (1.0;700)
host: 10.10.43.94:54000
accept-encoding: gzip
<?xml version="1.0" encoding="UTF-8"?>
seems nothing has been generated, and obviusly URL and params have been set in message mapping.
Hope some guru has been solved the issue ...
Pasquale Rossiello -
Using adapter specific parameters in a multiple receiver scenario.
Hi all,
I have a scenario in which I am sending a binary file from one folder to another using a file sender and file receiver adapter.
But, I have another file receiver to this message which expects the filename of the above binary file in the form of an XML file.
I want to know is this possible to receive an adapter specific value in the form of XML when we havent sent any xml from source side?
Please reply.
SumitSumit,
I got ur sceario.
I'm sure u have designed the data type for the target file am I right.
Let say it looks like
DT_Filename
File 1..1
Filename 1..1
U might have created the message type for the same.
Please create the message mapping with the source and target as same(above structure).
Now create simple UDF with no input.
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION );
DynamicConfigurationKey key = DynamicConfigurationKey.create(
"http://sap.com/xi/XI/System/File","FileName");
String name = conf.get(key);
return ""name"";
UDF mapping
UDF --> Filename[Target node, as per my data type designed above]
Hope it helps!!!
If not kindly revert back.
Best regards,
raj. -
I need to update specific records(of variable lengths) in a file. I can get the correct record but when I update it(add or change info), it overwrites part of the record following it. I am using labview 6.0. I need to be able to insert information into the middle of a file without disturbing the data before and after
It's hard to give more specifics without more detail, but in general you're going to need to read in the entire file, split it into three pieces (everything before the record of interest, the record itself, and everything after the record of interest), modify the record, reassemble the three pieces in proper order, and write the whole thing back to the file.Of course if the file is very large you might not want to actually implement it this way, but conceptually at least, this is what you are looking at.If this file some sort of proprietary format?Mike...PS: this type of issue is why I really like databases...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
XSLT Mapping of Adapter-Specific Message Attributes
Hi,
We have the requirement to build a soap request with a custom soap envelop/header which contains a sessionId.
Therefore we developed a xlst mapping which is called directly after a graphical mapping.
In the graphical mapping the session id is written to the dynamic configuration.
The goal is to read this session id in the xslt mapping from the dynamic configuration using XSLT Mapping of Adapter-Specific Message Attributes. We used [this|http://help.sap.com/saphelp_nwpi711/helpdata/en/43/03fe1bdc7821ade10000000a1553f6/content.htm] documentation as an example.
But we are getting the following error: TransformerConfigurationException triggered while loading XSLT mapping. The error is raised at this node: <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
This is the coding of the xslt transformation:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="urn:enterprise.soap.sforce.com"
xmlns:map="java:java.util.Map"
xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration"
xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:output indent="no" />
<xsl:param name="inputparam"/>
<xsl:template match="/">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:SessionHeader>
<xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
<xsl:variable name="dynamic-key" select="key:create('http://sap.com/xi/XI/System/SOAP', 'sessionId')" />
<xsl:variable name="dynamic-value" select="dyn:get($dynamic-conf, $dynamic-key)" />
<urn:sessionId><xsl:value-of select="$dynamic-value"></xsl:value-of></urn:sessionId>
</urn:SessionHeader>
</soapenv:Header>
<soapenv:Body>
<xsl:copy-of select="*"/>
</soapenv:Body>
</soapenv:Envelope>
</xsl:template>
</xsl:stylesheet>
Any help will be highly appreciated.
Regards, HenkHi, yes we did try that and lot's of other combination.
The results of those trials are that it seems to go wrong with <xsl:variable name="dynamic-conf" select="map:get($inputparam, 'DynamicConfiguration')" />
When we enclose it with <xsl:if test="function-available('map:get')"> the transformation is not dumping, but the function is not available.
Regards, Henk -
Multi-Message-split with ABAP mapping and adapter specific attributes
Hi all,
With <b>ABAP-Mapping I split 1 message to n messages</b>.
So many files are generated in <b>file-Adapter</b>.
Everything fine.
But now I want the file names different using adapter specific attributes.
It is not possible to use variable substitution and write the file name in payload because of receiver restrictions.
I tried this with following similar coding in ABAP-Mapping:
data: lt_records TYPE MPP_DYNAMIC_TAB.
Loop.
l_file_name = "payload-Inbound"-information
ls_record-namespace = 'http://sap.com/xi/XI/System/File'.
ls_record-name = 'FileName'.
ls_record-value = l_file_name. "l_file_name comes from inbound-payload
append ls_record to lt_records.
Endloop.
CALL METHOD dynamic_configuration->set_all_records
EXPORTING
records = lt_records.
If I start the interface I see in the monitoring the dynamic configuration with many entries for file-name in the the SOAP-Header mapping of the request message (following extract):
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Mapping der Request-Message
-->
- <SAP:DynamicConfiguration xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPAADDRESS.XML</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPABROKERROLE.XML</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPACOMPANYSEGMENT.XML</SAP:Record>
<SAP:Record namespace="http://sap.com/xi/XI/System/File" name="FileName">BPACUSTOMERROLE.XML</SAP:Record>
The result is that <b>all files have the same file name</b> (last entry in dynamic configuration).
Is it possible to write the adapter specific configuration in ABAP-mapping <u>for every single result message</u>??
Thank you for your help,
FlorianHi Florian,
I've a different idea...I dont think its a "right solution" but just another work around..it involves a BPM...
In your ABAP mapping..set the dynamic config with as many variables as number of different messages...i.e. use the variables like 'FileName1', 'FileName2'...'FileName6' instead of 'FileName'. But use the same namespace 'http://sap.com/xi/XI/System/File'
Call the above mapping in a BPM and capture the individual messages and set the attribute 'FileName' from the values of 'FileName1' to 'FileName6' accordingly using Message Mapping and then send the message using the 'Send' step.
before you try this, try using the variable names 'FileName1' ...'FileName6' in the receiver adapters...enable the ASMS. <b>I know we need to select which variables from the dynamic config to be used by the adapter by specifically selecting 'FileName', 'Directory' etc...but just give it a try and see if it works..</b>
Or..instead of using a BPM..you can combine Henrique's idea...use Adapter module to set the value for 'FileName' from variables 'FileName1'...'FileName6' accordingly.
hope I'm clear..lemme know if you have any questions..
cheers
praveen -
Overwrite Adapter-Specific Message Attributes in MAIL adapter.
Hi guru.
I'm trying to use the SENDER MAIL Adapter.
My scenario is the following:
a remote system send an email with an XML file like attachment. The PI System read the mailbox and tries to map the payload.
When I try without the "Adapter-Specific Message Attributes" the flow work well, but I need to know the email of the sender.
When I try to enable the Adapter-Specific Message Attributes the system finds an error in the SOAP envelop, in the "SHeaderX-CR-HASHEDPUZZLE" Node.
This is a part of the ENVELOP.
<sap:DynamicConfiguration SOAP:mustUnderstand="1">
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderTO">email</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SUser">testxi</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-ORIGINATING-IP">[XX.XXX.XX.XXX]</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SGreeting">
Lotus Notes POP3 server version X2.0 ready on xxx.</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderSUBJECT">GROUDWORK_REMOTE</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-MSG-REF">
server-10.XXXX.com!1224858537!24401109!1
</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderMESSAGE-ID"> 00a801c935e4$d4b4e3d0$7e1eab70$
</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-VIRUS-SCANNED">amavisd-new at xxx.com</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-ENV-SENDER">EMAIL</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-STARSCAN-VERSION">5.5.12.14.2; banners=-,-,xxx.it</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-SPAMWHITELISTED">domain whitelist</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-VIRUSCHECKED">Checked</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-MIMETRACK">
Itemize by SMTP Server on IXXX(Release 6.5.5|November30, 2005) at 10/24/2008 16:28:57,Serialize by POP3 Server on IXXX(Release 6.5.5FP2|October23, 2006) at 24/10/2008 16:38:51,Serialize complete at 24/10/2008 16:38:51
</sap:Record>
*THE ERROR IS IN THE FOLLOWING NODE*
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-HASHEDPUZZLE">
7hY= AFac ANQ+ Ad/R ArpP BnYc C6X8 EpvL FLPB GGaw GaCt HKM+ I0Nu JIhk JdJ4 KIZZ;1;dABlAHMAdAB4AGkAQABwAHIAbwB0AG8AdABpAHAAbwAuAGkAdAA=;
Sosha1_v1;7;{CCB182EF-E812-44B6-9C48-85873A18C72};bQBhAG4AdQBlAGwALgBjAGgAaQBhAHIAZQBsAGwAaQBAAGkAbgBmAHIAYQBjAG8AbQAuAGkAdAA=;
Fri, 24 Oct 2008 14:28:46 GMT;RgBXADoAIABDAE8ATQBFAFIAXwBSAEUATQBPAFQARQA=
</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-PUZZLEID">{CCB182EF-E812-44B6-9C48-B85873A18C72}</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderTHREAD-INDEX">
Ack1vUKnx+miPqT4T22mKaVcKhgAvwAAEmwwAAGwdQAABvplAAAAK6sgAAARhjAAAGHCAAAAKwPAAABcPNA=
</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderRECEIVED">
from XXX.com ([xx.xxx.xxx.xx]) by mail3.XXX.com (Lotus Domino Release 6.5.5) with SMTP id 2008102416285733-32229 for EMAIL ; Fri, 24 Oct 2008 16:28:57 +0200
</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderDATE">Fri, 24 Oct 2008 16:28:48 +0200</sap:Record>
<sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SServerLocation">pop://popserver</sap:Record>
</sap:DynamicConfiguration>
My question is:
Can I overwrite in the adapter the <sap:Record namespace="http://sap.com/xi/XI/System/Mail" name="SHeaderX-CR-HASHEDPUZZLE"> ?
<post_modified>
Edited by: Juan Reyes on Nov 3, 2008 7:22 PMHi
Check the details of the Email in Mail box are all the Adapter specific parameters are coming. If not then this will not read Adapter Specific parameters. Some Legacy system dont generate all parameters But you can add your using variable header.
Thanks
Gaurav -
Change Adapter Specific Message Attributes with ABAP Mapping
Hi everyone,
I have an IDOC -> PI -> File scenario and I need the file name to be a combination of several fields of the file so variable substitution is quite complicated. I have been reading about Adapter Specific Message Attributes and since the File name is one of those attributes I think maybe I can use it. The only thing is that I'm using ABAP mapping. Can I set the file name in that way? Has anyone done it?
Thank you for your help.
Regards,
PabloI found it myself:
DATA: l_dyn_record TYPE mpp_dynamic.
l_dyn_record-namespace = 'http://sap.com/xi/XI/System/File'.
l_dyn_record-name = 'FileName'.
l_dyn_record-value = w_nombrearch.
dynamic_configuration->add_record( l_dyn_record ).
Thanks anyway.
Maybe you are looking for
-
Hi, I've gone through some of the set-up and now cannot move forward past the Internet connection screen. It won't connect nor allow me to do anything now that I've entered my password??? Thanks!
-
BW 3.5 Upgrade approx 20Days to do?
I would like some input into estimates of effort to upgrade our 3.1 to 3.5. I have been following some threads and it seems that the upgrade,if you follow the SAP instructions and are well prepared, seems straight forward. I have reviewed the 'How to
-
I downloaded a rar. file of gradients how do I install it in illustrator to use it.
-
I just updated to iOS5 and all my contacts are gone!
I updated to iOS 5 and before it applied the update it said "Backing up Marc's iPhone". After the update, I went to load back my contacts and it says: "iTunes could not restore the iPhone "Marc's iPhone" because the backup session failed. It would ha
-
Use Unchecked or unsafe operations: recompile with -Xlint
hi all.. I'm trying to create a GUI to select the necessary port to open. I got this code from JAVA cookbook: I'm using windows XP and JDK 1.6.. import java.io.*; import javax.comm.*; import java.awt.*; import java.awt.event.*; import java.util.*; im