cancel
Showing results for 
Search instead for 
Did you mean: 

Search Replace module and Dynamic Attributes

Former Member
0 Kudos

I am using the Seeburger localejbs/Seeburger/ReplaceString module.  It works perfectly for our needs when we hard code the replaceString with a hard vlue.  However, we need to repalce with a value contained in a Dynamic Attribute for the message.  In this case, http://seeburger.com/xi/common/dtSubject

we have attempted to use the @http://seeburger.com/xi/common/dtSubject method that is used with other modules, however it does not work complaining that the delimiter (") does not surround the parameter.


Is there a module, or set of parameters that can be passed to the ReplaceString module to replace the value using the dtSubject value?  Is there a better way we can search/replace using a XI meta data value in for the replace parameter?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Read the rest of my posting.  I know this works with static value (eg "replace string") but I need to replace from the contents of a dynamic attribute.

S0003485845
Contributor
0 Kudos

Hi Gerard,

I have setup a quick scenario on my system, where I replaced the string "GIBBERISH" with the content of @http://seeburger-com/xi/common/dtMsgType

See the content of the testfile before and after the "replace" option ...

The parameters i used were as follows:

=> so I concatenated the dynamic value with two emtpy strings before and after the dynamic value...and in this way, the module was happy to find some " ... and could also read the dynamic value.

(you could also use an expression like ="\"" & @http.... & "\"" which provides the " for the module but removes it again with the / (escape string).

Below is my complete parameter:

=""& @http://seeburger.com/xi/common/dtMsgType&""

This should solve your issue

KInd Regards

Stefan

S0003485845
Contributor
0 Kudos

Hi Gerard,

in general this should be possible. Can you confirm that the dynamicConfiguration is set to true (or at least it is not set to false) ?

Other than this, did you also try it with =@ . That should also work

Maybe you can provide a screenshot of your channel(module configuration to take an additional look.

Kind Regard

Stefan

Former Member
0 Kudos

I am not familiar with the dynamicConfiguration setting.  Where is that set?

If this is a global SAP setting it probably is set to true since we use dynamic attributes in all kinds of other scenarios.  Also, I have verified the dynamic attrbibute I am attempgin to use is in fact presetnt...

The module configuration I am using... Plase notice the quotes that surround the dynamic attribute descriptor.  If the quotes are left out, the error in the communciatoin channel indicate that they are required.

S0003485845
Contributor
0 Kudos

Hi,

can you try to set the following parameters

dynamicConfiguration          true

useAttribIfSet                    true

and then start the replace string with =@ (without any quotes) ?

(...and provide a screenshot of these settings in case it doesn´t work)

Kind Regards

Stefan

Former Member
0 Kudos

The module chain is below.

For the replaceString, I have used the following values:

"@http://seeburger.com/xi/common/dtSubject" "=@http://seeburger.com/xi/common/dtSubject"

both return a 500 server error (see below)

If I remove the quotes I am told that the " is required.

The screenshot of the module tab:

com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIAdapter:ADAPTER.HTTP_EXCEPTION:HTTP 500 Server Error

          at com.sap.aii.adapter.soap.ejb.XISOAPAdapterBean.process(XISOAPAdapterBean.java:1040)

          at sun.reflect.GeneratedMethodAccessor2107.invoke(Unknown Source)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:592)

          at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)

          at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)

          at $Proxy2688.process(Unknown Source)

          at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:275)

          at sun.reflect.GeneratedMethodAccessor1395.invoke(Unknown Source)

          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

          at java.lang.reflect.Method.invoke(Method.java:592)

          at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)

          at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

          at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)

          at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)

          at $Proxy451.process(Unknown Source)

          at com.sap.aii.adapter.soap.web.MessageServlet.callModuleProcessor(MessageServlet.java:179)

          at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:499)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

          at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:163)

          at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:82)

          at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:124)

          at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:74)

          at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)

          at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)

          at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:402)

          at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:391)

          at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:93)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:188)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

          at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

          at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

          at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

          at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

          at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

          at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295)

          at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

          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:152)

          at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:250)

gagandeep_batra
Active Contributor
0 Kudos

Did you check with following parameter also?

Module Name : localejbs/Seeburger/ReplaceString

Module Key  : rep

Modulekey   Parametername     ParameterValue

rep         sourceDest        MainDocument

rep         targetDest        MainDocument

rep         searchString     "Search string"

rep        replaceString     "replace string"

rep        regularExpression   true

Regarads

Gagan