Tech Mastery: Deep Dives into AEM, Cloud Technologies, AI Innovations, and Advanced Marketing Strate
Welcome to Tech Mastery, your expert source for insights into technology and digital strategy. Explore topics like Adobe Experience Manager, AWS, Azure, generative AI, and advanced marketing strategies. Delve into MACH architecture, Jamstack, modern software practices, DevOps, and SEO. Our blog is ideal for tech professionals and enthusiasts eager to stay ahead in digital innovations, from Content Management to Digital Asset Management and beyond.
Thursday, September 17, 2015
Wednesday, August 5, 2015
java.lang.RuntimeException: ConfigurationManagerImpl disabled : Adobe CQ5/Adobe AEM 6.1
java.lang.RuntimeException: ConfigurationManagerImpl disabled : Adobe CQ5/Adobe AEM 6.1
We are receiving the the following exception after upgrading Adobe CQ5/Adobe AEM 5.6.1 to Adobe CQ5/Adobe AEM 6.1.org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught SlingException - java.lang.RuntimeException: ConfigurationManagerImpl disabled
Because of this the components are not able fetch the configuration details and failed to render.
The root cause of the issue is ConfigurationManagerImpl OSGI component is not enabled(default it will be disabled for security).
The issue got resolved after enabling the same.
The following steps can be followed to enable ConfigurationManagerImpl.
Login to system console - http://localhost:4502/system/console/components
Search for ConfigurationManagerImpl
Click on configure
Select Enabled and Save the configuration.
Sunday, July 5, 2015
BEA-382510:javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
BEA-382510:javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
We were getting the below exception(BEA-382510) intermittently in OSB assign activity in run time.OSB Assign action failed updating variable "var1": javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: Content is not allowed in prolog.
This is the known issue in SOA Suite 11.1.1.5.0 version and fixed from 11.1.1.6.0.
The issue got fixed in 11.1.1.5.0 version after installing the patch 10086559.
Friday, July 3, 2015
Internationalization i18n labels are not displaying: Adobe CQ5/Adobe AEM
Internationalization i18n labels are not displaying: Adobe CQ5/Adobe AEM.
We were facing the issue with displaying the ii18 labels in Adobe Experience Manager(AEM) pages, the key is getting displayed instead of the message.<fmt:message key="login"/>
The key "login" is displayed as label instead of the message "Login".
The root cause of the issue is, the bundle "Apache Sling Internationalization Support (org.apache.sling.i18n)" is in resolved state.
The issue got resolved after restarting the "Apache Sling Internationalization Support (org.apache.sling.i18n)" bundle.
Wednesday, July 1, 2015
Programatically Set/Get the metadata of an Asset: Adobe CQ5/Adobe AEM
Programatically Set/Get the metadata of an Asset: Adobe CQ5/Adobe AEM
The Adobe Experience Manager(AEM) version referred here is 5.6.1@Reference
private ResourceResolverFactory resolverFactory;
ResourceResolver resourceResolver =null;
try
{
String resourcePath = "/content/dam/geometrixx-outdoors/banners/adventure.jpg";
resourceResolver= resolverFactory.getAdministrativeResourceResolver(null);
Resource res = resourceResolver.getResource(resourcePath);
Resource metadataRes =res.getChild("jcr:content/metadata");
ModifiableValueMap map = metadataRes.adaptTo(ModifiableValueMap.class);
//set metadata
map.put("dc:samplemetadata", "sample metadata");
resourceResolver.commit();
//get metadata
String metadata=map.get("dc:samplemetadata").toString();
}catch(Exception e)
{
}finally
{
resourceResolver.close();
}
Dependency in pom.xml
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.api</artifactId>
<version>2.4.0</version>
<scope>provided</scope>
</dependency>
Tuesday, June 30, 2015
How to enable Debugging for OSB modules
How to enable Debugging for Oracle Service Bus(OSB) modules
Make sure server log is set to debug (Weblogic console -> Environment-->Servers -><<OSB Server>>--> Logging -> Advanced)Stop the servers .
Open file <DOMAIN_HOME>/alsbdebug.xml
Set the value to true for the required modules.
Open file <DOMAIN_HOME>/configfwkdebug.xml
Set the value to true for the required modules.
Restart the server
Server log will have the details.
Friday, June 26, 2015
Thursday, June 25, 2015
Install Adobe Experience Manager(AEM) package through CURL command
Install Adobe Experience Manager(AEM) package through CURL command
curl -u <<User Name>>:<<Password>> -F file=@"<<Package Path>>" -F name="<<Package Name>>" -F force=true -F install=true http://<<Server Host Name>>:<<Port>>/crx/packmgr/service.jspe.g
curl -u admin:admin -F file=@"/appserver/package/package-1.0.1-SNAPSHOT.zip" -F name="package-1.0.1-SNAPSHOT" -F force=true -F install=true http://localhost:4502/crx/packmgr/service.jsp
If the Adobe Experience Manager(AEM) server is behind the proxy then execute the below command to set the proxy server
export http_proxy=http://<<Proxy Server Host Name>>:<<Port>>
Wednesday, June 17, 2015
Deploying bundles/packages to different environments through Maven: Adobe AEM/Adobe CQ5
Deploying bundles/packages to different environments through Maven: Adobe AEM/Adobe CQ5
Create a folder cq-sample-all(projectname-all) under cq-sample(parent folder)Create cq-sample-all/pom.xml and configure the environment specific properties, module dependencies and different profiles - refer the sample below
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLotrion="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>my-group-id</groupId> <!-- Change the groupid and artifactId of the paraent -->
<artifactId>cq-sample</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>cq-sample-all</artifactId> <!-- Change the artifcatId -->
<packaging>content-package</packaging>
<name>${project.groupId} - ${project.artifactId}</name>
<properties>
<cq.dev.author.server>aem-dev-author</cq.dev.author.server>
<cq.dev.author.host>localhost</cq.dev.author.host>
<cq.dev.author.port>4502</cq.dev.author.port>
<cq.dev.author.protocol>http</cq.dev.author.protocol>
<cq.dev.publisher1.server>aem-dev-publisher</cq.dev.publisher1.server>
<cq.dev.publisher1.host>localhost</cq.dev.publisher1.host>
<cq.dev.publisher1.port>4503</cq.dev.publisher1.port>
<cq.dev.publisher1.protocol>http</cq.dev.publisher1.protocol>
<!-- Add the other server details-->
</properties>
<!-- Add all the bundle/content modules as part of dependency. Change the artifactId of the modules-->
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cq-sample-content</artifactId>
<version>${project.version}</version>
<type>content-package</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>cq-sample-bundle</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>maven-vault-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<goals>
<goal>package</goal>
</goals>
<configuration>
<embeddedTarget>/apps/cq-sample/install</embeddedTarget> <!-- change the folder name(cq-sample) accordingly -->
<embeddeds>
<embedded>
<groupId>${project.groupId}</groupId>
<artifactId>cq-sample-bundle</artifactId>
<filter>true</filter>
</embedded>
<!-- Add additional bundle modules here as embedded -->
</embeddeds>
<subPackages>
<subPackage>
<groupId>${project.groupId}</groupId>
<artifactId>cq-sample-content</artifactId>
<filter>true</filter>
</subPackage>
<!-- Add additional content modules here as subPackage -->
</subPackages>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Profile for Development deployments -->
<!--Create the profile for different environments -->
<profile>
<id>Development</id>
<build>
<plugins>
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<executions>
<execution>
<id>install-content-package-author</id>
<phase>install</phase>
<goals>
<goal>install</goal>
</goals>
<configuration>
<failOnError>true</failOnError>
<useProxy>false</useProxy>
<packageFile>${project.build.directory}/${project.build.finalName}.zip</packageFile>
<targetURL>${cq.dev.author.protocol}://${cq.dev.author.host}:${cq.dev.author.port}/crx/packmgr/service.jsp</targetURL>
<serverId>${cq.dev.author.server}</serverId>
</configuration>
</execution>
<execution>
<id>install-content-package-publisher1</id>
<phase>install</phase>
<goals>
<goal>install</goal>
</goals>
<configuration>
<failOnError>true</failOnError>
<useProxy>false</useProxy>
<packageFile>${project.build.directory}/${project.build.finalName}.zip</packageFile>
<targetURL>${cq.dev.publisher1.protocol}://${cq.dev.publisher1.host}:${cq.dev.publisher1.port}/crx/packmgr/service.jsp</targetURL>
<serverId>${cq.dev.publisher1.server}</serverId>
</configuration>
</execution>
<!-- Add execution for additional publisher with different id(increment the last digit)-->
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
How to disable Geolocation feature : Adobe AEM/Adobe CQ5
How to disable Geolocation feature : Adobe AEM/Adobe CQ5
The Geolocation feature can be disabled for all the sites by renaming the following component to different nameRename /libs/cq/personalization/components/contextstores/geolocation to /libs/cq/personalization/components/contextstores/geolocation_new
Unresolveable build extension: Error resolving version for plugin 'com.day.jcr.vault:maven-vault-plugin' / Unknown packaging: content-package while deploying through Maven : Adobe AEM/Adobe CQ5
Unresolveable build extension: Error resolving version for plugin 'com.day.jcr.vault:maven-vault-plugin' / Unknown packaging: content-package while deploying through Maven : Adobe AEM/Adobe CQ5
We are getting the below exception while deploying the package to Adobe AEM/Adobe CQ5 through Maven.[ERROR] Unresolveable build extension: Error resolving version for plugin 'com.day.jcr.vault:maven-vault-plugin' from the repositories
[local (D:\Albin\Projects\.m2\repository), adobe (http://repo.adobe.com/nexus/content/groups/public/),
central (http://repo.maven.apache.org/maven2)]: Plugin not found in any plugin repository -> [Help 2]
[ERROR] Unknown packaging: content-package @ my-group-id:cq-sample-all:[unknown-version],
D:\Albin\SW\apache-maven-3.2.2-bin\apache-maven-3.2.2\bin\cq-sample\cq-sample-all\pom.xml, line 13, column 13
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginVersionResolutionException
To resolve this issue add the vault plugin to parent pom.xml
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>maven-vault-plugin</artifactId>
<version>0.0.10</version>
<configuration>
<verbose>true</verbose>
</configuration>
</plugin>
Friday, June 5, 2015
Enabling basic authentication for specific website in dispatcher : Adobe CQ5/Adobe AEM
Enabling basic authentication for specific website in dispatcher : Adobe CQ5/Adobe AEM
Create a file dispatcher.htaccess in dispatcher.Create the required users by using the following commands.
htpasswd -c /etc/httpd/conf/dispatcher.htaccess user1
Add the following configurations to the httpd.conf, change the site URL and AuthUserFile accordingly:
# unsets authorization header when sending request to AEM
RequestHeader unset Authorization
SetEnvIf Request_URI ^/content/en* auth=1
AuthName "Please login to access english part"
AuthType Basic
AuthUserFile /etc/httpd/conf/dispatcher.htaccess
# first, allow everybody
Order Allow,Deny
Satisfy any
Allow from all
Require valid-user
# then, deny only if required
Deny from env=auth
This will enable the the basic authentication for the website path starts with /content/en
If the site is enabled for https then add the following content to the ssl.conf file
<Location />
# unsets authorization header when sending request to AEM
RequestHeader unset Authorization
SetEnvIf Request_URI ^/content/en* auths=1
AuthName "Please login to access english part"
AuthType Basic
AuthUserFile /etc/httpd/conf/dispatcher.htaccess
# first, allow everybody
Order Allow,Deny
Satisfy any
Allow from all
Require valid-user
# then, deny only if required
Deny from env=auths
</Location>
Monday, June 1, 2015
Sunday, May 31, 2015
org.springframework.a op.framework.AopConfigException: Could not generate CGLIB subclass of class [class net.sf.ehcache.CacheManager]
org.springframework.a op.framework.AopConfigException: Could not generate CGLIB subclass of class [class net.sf.ehcache.CacheManager]
While using Ehcache with spring, spring context initialization fails with the below exceptionCaused by: org.springframework.beans.factory.BeanCreationException: Error creati
ng bean with name 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceI
mpl#0': Cannot resolve reference to bean 'ehcacheManager' while setting bean pro
perty 'cacheManager'; nested exception is org.springframework.beans.factory.Bean
CreationException: Error creating bean with name 'ehcacheManager': Post-processi
ng of the FactoryBean's object failed; nested exception is org.springframework.a
op.framework.AopConfigException: Could not generate CGLIB subclass of class [cla
ss net.sf.ehcache.CacheManager]: Common causes of this problem include using a f
inal class or a non-visible class; nested exception is org.springframework.cglib
.core.CodeGenerationException: net.sf.ehcache.CacheException-->Another unnamed C
acheManager already exists in the same VM. Please provide unique names for each
CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same Cac
heManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
The source of the existing CacheManager is: InputStreamConfigurationSource [stre
am=java.io.BufferedInputStream@128647a]
Configuration Details:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ehcache="http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring
http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd">
<ehcache:annotation-driven cache-manager="cacheManager"/>
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:config/ehcache/ehcache.xml" />
<property name="shared" value="true" />
</bean>
</beans>
Saturday, May 23, 2015
How to get all the configurations from a configurationFactory - Adobe CQ5/Adobe AEM
How to get all the configurations from a configurationFactory - Adobe CQ5/Adobe AEM
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY, policy = ReferencePolicy.STATIC)private ConfigurationAdmin configAdmin;
try {
Configuration[] confArray = configAdmin.listConfigurations("(service.factoryPid= com.service.config.impl.ConfigFactoryServiceImpl)");
//Retrieve the configurations - Iterate through confArray
final Configuration conf = confArray[0];
final String property1 = (String) conf.getProperties().get("property1");
} catch (Exception e) {
}
service.factoryPid:
Adobe CQ/Adobe AEM: Configuration Services for Multiple Sites through configurationFactory
Adobe CQ/Adobe AEM: Configuration Services for Multiple Sites through configurationFactory
Sometimes, we have to define configuration services that will differ only with configuration values. For e.g we will have different sites that will use the same configuration service but with different configuration values specific to sites.In this scenario, we have to create a site specific configuration service for all the sites (multiple services) but OSGI provides the concept of ServiceFactories, the service factory can be used to create configuration services with same set of properties and different values.
As an example let’s assume, we have two different sites that will use the same configuration service but require site specific configuration values. The configurationFactory can be used to create configuration service for different sites.
configurationFactory to create site specific cconfigurations and to retrieve the site specific configuration properties.
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.ConfigurationPolicy;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.osgi.framework.BundleContext;
import org.osgi.framework.Constants;
import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component(configurationFactory = true, policy = ConfigurationPolicy.REQUIRE, immediate = true, label = "Config Factory Service", description = "Global configuration Factory Service", metatype = true)
@Properties({ @Property(name = Constants.SERVICE_DESCRIPTION, value = "Common Configuration Factory Service") })
@Service(value = ConfigFactoryServiceImpl.class)
public class ConfigFactoryServiceImpl{
private static final Logger LOG = LoggerFactory.getLogger(ConfigFactoryServiceImpl.class);
private static ResourceResolverFactory resourceResolverFactory;
private static BundleContext bundleContext;
@Reference
private ResourceResolverFactory resourceResolverFactoryInit;
private static final String SERVICE_PID = "service.pid";
private static final String DEFAULT_CONFIG = "DEFAULT";
private static Map<String, String> svcPIDMap = new HashMap<String, String>();
@Property(label = "Site Root Path", value = "DEFAULT", description = "Root path for site (e.g. - /content/sample).")
public static final String SITE_ROOT_PATH = "siteRootPath";
@Property(label = "Property1", value = "Property1: ", description = "Property1.")
public static final String PROPERTY1 = "PROPERTY1";
@Property(label = "Property2", value = "Property2: ", description = "Property2.")
public static final String PROPERTY2 = "PROPERTY2";
@Property(label = "Property3", value = "Property3: ", description = "Property3.")
public static final String PROPERTY3 = "PROPERTY3";
protected String getSiteRootPath() {
return SITE_ROOT_PATH;
}
protected void activate(ComponentContext context) {
try {
bundleContext = context.getBundleContext();
resourceResolverFactory = resourceResolverFactoryInit;
// Get the current config
Dictionary<?, ?> props = context.getProperties();
// Save the service.pid to static map
String servicePID = (String) props.get(SERVICE_PID);
setServicePID(props, servicePID);
} catch (Exception e) {
}
}
private void setServicePID(Dictionary<?, ?> props, String servicePID) {
String siteRootPath = (String) props.get(getSiteRootPath());
if(!siteRootPath.equals("DEFAULT") && !siteRootPath.startsWith("/"))
{
siteRootPath="/"+siteRootPath;
}
if (!StringUtils.isEmpty(siteRootPath)) {
svcPIDMap.put(siteRootPath, servicePID);
}
}
public static String getConfig(HttpServletRequest request, String key) {
return getConfig(request, null, key);
}
public static String getConfig(HttpServletRequest request, String uri,String key) {
String property = null;
Object configObj = null;
try {
configObj = getConfigObj(request, uri, key);
} catch (Exception e) {
}
if (null != configObj) {
property = configObj.toString();
}
return property;
}
public static Object getConfigObj(HttpServletRequest request,String pagePath, String key) {
Configuration conf;
String resourcePath = null;
try {
if (!("DEFAULT").equals(pagePath)) {
resourcePath = getResourcePath(request, pagePath);
conf = locateConfiguration(resourcePath);
} else {
conf = locateConfiguration(DEFAULT_CONFIG);
}
if (null != conf && null != conf.getProperties()) {
Object obj = conf.getProperties().get(key);
return obj;
} else {
throw new Exception("Could not find matching configuration");
}
} catch (Exception e) {
}
return null;
}
private static Configuration locateConfiguration(String resourcePath) {
Configuration locatedConfig = null;
try {
String siteRootPath = getSiteRootPath(resourcePath);
String svcPID = svcPIDMap.get(siteRootPath);
ConfigurationAdmin bundleConfigAdmin = (ConfigurationAdmin) bundleContext.
getService(bundleContext.getServiceReference(ConfigurationAdmin.class.getName()));
locatedConfig = bundleConfigAdmin.getConfiguration(svcPID);
} catch (Exception e) {
}
return locatedConfig;
}
protected static String getResourcePath(HttpServletRequest request,String pagePath) {
String resourcePath = null;
String uri = request.getRequestURI();
ResourceResolver resourceResolver = null;
try {
resourceResolver = resourceResolverFactory.getResourceResolver(null);
Resource resolvedResource;
if (null == pagePath) {
resolvedResource = resourceResolver.resolve(request, uri);
} else {
resolvedResource = resourceResolver.resolve(request, pagePath);
}
resourcePath = resolvedResource.getPath();
} catch (Exception e) {
} finally {
if (null != resourceResolver) {
resourceResolver.close();
}
}
return resourcePath;
}
protected static String getSiteRootPath(String resourcePath) {
if (StringUtils.isEmpty(resourcePath)) {
return null;
}
if (resourcePath.equalsIgnoreCase(DEFAULT_CONFIG)) {
return resourcePath;
}
String siteRootPath = null;
String[] path = resourcePath.split("/");
if (path.length > 2) {
siteRootPath = "/" + path[1] + "/" + path[2];
LOG.error("siteRootPath= "+siteRootPath);
}
return siteRootPath;
}
}
Friday, May 22, 2015
how to Delete/Disable the users through Java API in Adobe Experience Manager(AEM)
how to Delete/Disable the users through Java API in Adobe Experience Manager(AEM)
This post will explain how to Delete/Disable the users through Java API in Adobe Experience Manager(AEM).@Reference
ResourceResolverFactory resolverFactory;
ResourceResolver adminResolver = null;
Session adminSession=null;
try {
adminResolver = resolverFactory.getAdministrativeResourceResolver(null);
adminSession = adminResolver.adaptTo(Session.class);
final UserManager userManager= adminResolver.adaptTo(UserManager.class);
Authorizable authorizable = userManager.getAuthorizable("userName");
if (authorizable instanceof User) {
User user = (User)authorizable;
user.remove(); //Remove the user
user.disable() // Disable the user.
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (adminResolver != null) adminResolver.close();
}
Saturday, May 16, 2015
Suppressing the Selection Failure exception in Assign activity – Oracle SOA Suite
Suppressing the Selection Failure exception in Assign activity – Oracle SOA Suite
This post will explain how to suppress the Selection Failure exception BPEL Assign activity – Oracle SOA SuiteIn BPEL Assign activity if the xpath returns empty result then SelectionFailure RuntimeFault will be thrown by the engine.
But some cases we may need to suppress the selectionFailure error while assigning the optional elements.
In my case I have a assign activity that will mapthe elements input and input1 from inputVariable to result and result1 of outputVariable.
The input2 is optional and somecases input2 element will not be available in the request payload.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sup="http://xmlns.oracle.com/Application1/SuppressSelectionFailure/SuppressSelectionFailure">
<soapenv:Header/>
<soapenv:Body>
<sup:process>
<sup:input>?</sup:input>
</sup:process>
</soapenv:Body>
</soapenv:Envelope>
Don't support MessageVariable in fromPart - Oracle SOA Suite
Don't support MessageVariable in fromPart - Oracle SOA Suite:
This error will be thrown while invoking the service with Multipart Message type and the receive activity uses the fromPart to retrieve the parts data and assign to a variables created based on message type or invoke activity uses toPart to assign the data to parts based message type variable.To resolve this whenever retrieving or assigning values to parts in receive/invoke activity through fromPart or toPart use the element based variables instead using the message type based variable.
Friday, May 15, 2015
window.location.href is not working while clicking on hyper link in IE
window.location.href is not working while clicking on hyper link in IE
I was trying to redirect to a page while clicking on a hyper link with JQuery Ajax and java script windows.location.href<a id="signout" href="">signOut<a/>
<script>
$("#signout").click(function(){
$.ajax({
type : "POST",
async: false,
url : "/services/logout",
success : function() {
window.location="/content/test/test.html";
},
error : function() {
window.location="/content/test/test.html";
}
});
} );
</script>
This is working perfectly in both Firefox and Chrome but it is not working in IE.
In IE while redirecting the URL is stripped off to /content/test/(test.html got removed while performing the redirect)
The issue can be fixed as below by adding # in href attribute.
<a id="signout" href="#">signOut<a/>
Subscribe to:
Posts (Atom)