Xml validation ---- file system of PI ???
hi all ,
i read the xml validation concept of PI7.1 . iam unable to find any practical explanation about the following
"To validate the structure of a PI message payload, you should export the schemas from the ESR and save them in the file system of PI. "
save them in the file system of pi ... where does this mean to be stored ?.
will it be necessary for both the ADAPTER ENGINE & INTEG ENGINE VALIDATION?
Please give any other important aspect of this validation concept which u came across during ur practical implementation
THANKS IN ADVANCE
Hi Netaji,
Validating the XML documents is a new feature introduced in SAP NetWeaver Process Integration 7.1. The validation can be performed at two different locations - Integration Server or the Adapter Engine. Validations can be done in both synchronous and asynchronous operations.
In the synchronous scenario or using an adapter that can handle synchronous messages (e.g. HTTP and SOAP adapters), when a validation error occurs, the error message will be returned to the sender. In the case of asynchronous scenarios (e.g. file adapter), the error message will be logged to the SXI_MONITOR when the validation is done in the Integration Server or to the Runtime Workbench (RWB) when the validation is done in the Adapter Engine. In both cases, the messaging will be terminated with error.
Both Integration Server and Adapter Engine can be used for validating XML from the sender. However, only the Integration Server can be used to validate the XML when sending to the receiver. The XML validation configurations are done in either the Sender Agreement or the Receiver Agreement.
In the current release, as of PI 7.1, the XML schema (or XSD) to be used for the XML validation has to reside in a file directory under the JEE. The XSD file has to be explicitly copied into a specific directory, depending on where the validation is to be performed.
Regards,
Leela
Similar Messages
-
:: Running Hook [udev]
:: Triggering uevents...done
Root device '804' doesn't exist.
Creating root device /dev/root with major 8 and minor 4.
error: /dev/root: No such device or address
ERROR: Unable to determine the file system type of /dev/root:
Either it contains no filesystem, an unknown filesystem,
or more than one valid file system signature was found.
Try adding
rootfstype=your_filesystem_type
to the kernelcommand line.
You are now being dropped into an emergency shell.
/bin/sh: can't access tty; job control turned off
[ramfs /]# [ 1.376738] Refined TSC clocksource calibration: 3013.000 MHz.
[ 1.376775] Switching to clocksource tsc
That's what I get when I boot my Arch system. It worked fine for quite a while, but suddenly it ran into an error where the SCSI driver module was corrupt. I fixed it by reinstalling util-linux-ng and kernel26, however, I run into this issue now. http://www.pastie.org/2163181 < Link to /var/log/pacman.log for the month of July, just in case. Yes, I bought a new ATI/AMD Radeon HD 5450 this Saturday, but it seemed to work fine till this broke and it works fine on Ubuntu too, so I suppose we can rule it out.
Last edited by SgrA (2011-07-05 20:45:36)Autodetection failed on your first image, in both your previous kernel installs:
[2011-07-04 16:14] find: `/sys/devices': No such file or directory
Which means that sysfs was not mounted. You should be able to boot from the fallback image, which does not use autodetect. Figure out why /sys isn't mounted, as well, and fix that.
This is also a somewhat crappy bug in mkinitcpio that lets you create an autodetect image that's useless. It'll be fixed in the next version of mkinitcpio that makes it to core.
Last edited by falconindy (2011-07-04 17:41:19) -
Lucreate - Cannot make file systems for boot environment
Hello!
I'm trying to use LiveUpgrade to upgrade one "my" Sparc servers from Solaris 10 U5 to Solaris 10 U6. To do that, I first installed the patches listed on [Infodoc 72099|http://sunsolve.sun.com/search/document.do?assetkey=1-9-72099-1] and then installed SUNWlucfg, SUNWlur and SUNWluufrom the S10U6 sparc DVD iso. I then did:
--($ ~)-- time sudo env LC_ALL=C LANG=C PATH=/usr/bin:/bin:/sbin:/usr/sbin:$PATH lucreate -n S10U6_20081207 -m /:/dev/md/dsk/d200:ufs
Discovering physical storage devices
Discovering logical storage devices
Cross referencing storage devices with boot environment configurations
Determining types of file systems supported
Validating file system requests
Preparing logical storage devices
Preparing physical storage devices
Configuring physical storage devices
Configuring logical storage devices
Analyzing system configuration.
Comparing source boot environment <d100> file systems with the file
system(s) you specified for the new boot environment. Determining which
file systems should be in the new boot environment.
Updating boot environment description database on all BEs.
Searching /dev for possible boot environment filesystem devices
Updating system configuration files.
The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID.
Creating configuration for boot environment <S10U6_20081207>.
Source boot environment is <d100>.
Creating boot environment <S10U6_20081207>.
Creating file systems on boot environment <S10U6_20081207>.
Creating <ufs> file system for </> in zone <global> on </dev/md/dsk/d200>.
Mounting file systems for boot environment <S10U6_20081207>.
Calculating required sizes of file systems for boot environment <S10U6_20081207>.
ERROR: Cannot make file systems for boot environment <S10U6_20081207>.So the problem is:
ERROR: Cannot make file systems for boot environment <S10U6_20081207>.
Well - why's that?
I can do a "newfs /dev/md/dsk/d200" just fine.
When I try to remove the incomplete S10U6_20081207 BE, I get yet another error :(
/bin/nawk: can't open file /etc/lu/ICF.2
Quellcodezeilennummer 1
Boot environment <S10U6_20081207> deleted.I get this error consistently (I ran the lucreate many times now).
lucreate used to work fine, "once upon a time", when I brought the system from S10U4 to S10U5.
Would anyone maybe have an idea about what's broken there?
--($ ~)-- LC_ALL=C metastat
d200: Mirror
Submirror 0: d20
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 31458321 blocks (15 GB)
d20: Submirror of d200
State: Okay
Size: 31458321 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s0 0 No Okay Yes
d100: Mirror
Submirror 0: d10
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 31458321 blocks (15 GB)
d10: Submirror of d100
State: Okay
Size: 31458321 blocks (15 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s0 0 No Okay Yes
d201: Mirror
Submirror 0: d21
State: Okay
Submirror 1: d11
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 2097414 blocks (1.0 GB)
d21: Submirror of d201
State: Okay
Size: 2097414 blocks (1.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t1d0s1 0 No Okay Yes
d11: Submirror of d201
State: Okay
Size: 2097414 blocks (1.0 GB)
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t0d0s1 0 No Okay Yes
hsp001: is empty
Device Relocation Information:
Device Reloc Device ID
c1t1d0 Yes id1,sd@THITACHI_DK32EJ-36NC_____434N5641
c1t0d0 Yes id1,sd@SSEAGATE_ST336607LSUN36G_3JA659W600007412LQFN
--($ ~)-- /bin/df -k | grep md
/dev/md/dsk/d100 15490539 10772770 4562864 71% /Thanks,
MichaelHello.
(sys01)root# devfsadm -Cv
(sys01)root# To be on the safe side, I even rebooted after having run devfsadm.
--($ ~)-- sudo env LC_ALL=C LANG=C lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
d100 yes yes yes no -
--($ ~)-- sudo env LC_ALL=C LANG=C lufslist d100
boot environment name: d100
This boot environment is currently active.
This boot environment will be active on next system boot.
Filesystem fstype device size Mounted on Mount Options
/dev/md/dsk/d100 ufs 16106660352 / logging
/dev/md/dsk/d201 swap 1073875968 - -In the rebooted system, I re-did the original lucreate:
<code>--($ ~)-- time sudo env LC_ALL=C LANG=C PATH=/usr/bin:/bin:/sbin:/usr/sbin:$PATH lucreate -n S10U6_20081207 -m /:/dev/md/dsk/d200:ufs</code>
Copying.
*{color:#ff0000}Excellent! It now works!{color}*
Thanks a lot,
Michael -
SUN VM Shared File Systems make Errors with lucreate
Hi,
I have a problem with an attached A5200 with mirrored disks (Solaris 9, Volume Manager). Whereas the "critical" partitions should be copied to a second system disk, the mirrored partitions should be shared.
Here is a script with lucreate.
/usr/sbin/lucreate \
-l ${Logdir}/$0.log \
-o ${Logdir}/$0.error \
-m /:/dev/dsk/c2t0d0s0:ufs \
-m /var:/dev/dsk/c2t0d0s3:ufs \
-m /opt:/dev/dsk/c2t0d0s4:ufs \
-m -:/dev/dsk/c2t0d0s1:swap \
-n disk0
And here is the output
root@ahbgbld800x:/usr/local/LUscripts >./lucreate_disk0.sh
Discovering physical storage devices
Discovering logical storage devices
Cross referencing storage devices with boot environment configurations
Determining types of file systems supported
Validating file system requests
Preparing logical storage devices
Preparing physical storage devices
Configuring physical storage devices
Configuring logical storage devices
Analyzing system configuration.
INFORMATION: Unable to determine size or capacity of slice </dev/md/RAID-INT/dsk/d0>.
ERROR: An error occurred during creation of configuration file.
ERROR: Cannot create the internal configuration file for the current boot environment <disk3>.
Assertion failed: *ptrKey == (unsigned long long)_lu_malloc, file lu_mem.c, line 362<br />
Abort - core dumpedHello.
(sys01)root# devfsadm -Cv
(sys01)root# To be on the safe side, I even rebooted after having run devfsadm.
--($ ~)-- sudo env LC_ALL=C LANG=C lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
d100 yes yes yes no -
--($ ~)-- sudo env LC_ALL=C LANG=C lufslist d100
boot environment name: d100
This boot environment is currently active.
This boot environment will be active on next system boot.
Filesystem fstype device size Mounted on Mount Options
/dev/md/dsk/d100 ufs 16106660352 / logging
/dev/md/dsk/d201 swap 1073875968 - -In the rebooted system, I re-did the original lucreate:
<code>--($ ~)-- time sudo env LC_ALL=C LANG=C PATH=/usr/bin:/bin:/sbin:/usr/sbin:$PATH lucreate -n S10U6_20081207 -m /:/dev/md/dsk/d200:ufs</code>
Copying.
*{color:#ff0000}Excellent! It now works!{color}*
Thanks a lot,
Michael -
XML validation in sender file adapter
Hi
I am using FCC on the sender file adapter ....i need to make sure that one of the fields should always be integer else the sender adapter should give error
Can i use xml validation with FCC on the sender file adapter?Hi Hema,
As per understanding you need to check one or few fields value is integer or not.
You can achieve in 2 ways :
Case1:Using inbuilt xml validation options.
For 7.11 and below
1)In ESR/Message type/Export the xsd to local machine.
2)Insert the xsd file in the below loc
/usr/sap/<sid>/DVEBMGS00/j2ee/cluster/server0/validation/schema/
<guid>/<namespace1>/<service_interface_name>/<namespace2>
<sid>: System ID of the server instance.
<guid>: The GUID of the SWCV.
<namespace1> : The namespace within which the service interface is defined.
<service_interface_name> : The name of the service interface.
<namespace2>
: The namespace of the Message Type used by the service interface. In many
instances, namespace1 and namespace2 are the same.
Italic path folders need to create by you.
For 7.3 and above
Michal's PI tips: XML validation - changes in 7.3
Case 2 :Handling using simple UDF.
Input-->UDF-->Output
try {
Integer.parseInt(input);
return input ;
catch(NumberFormatException e) {
throw new StreamTransformationException( "Input field value for xyz field "+input+"is not in integer format.Plz correct it");
Regards
Venkat -
Xml validation in File to RFC Sync Scenario with Validation fails message
Hi All,
We are using PI 7.4 (Dual Stack) the Requirement is File to RFC Sync Scenario(File <---> RFC).and need to do XML validation against XSD Schema. if any Validations fails Response message should send back to sender.RequestResponseBean standard module is using for File to RFC Sync scenario but how to send the response message to sender if any validation fails. adapter level XML validation is not helpful for this requirement. please help out me how to achieve the requirement with graphical mapping.
Thanks in advance.to validate schema you cannot solve it with graphical mapping but validating the schema in the AAE or the integration engine.
y recomend you to use the AAE validation at sender side, coz the sender system will be notified in case of schema errors.
The response will be validated at Integration Server level.
you can search in the forum, you will get many document about how to configure it.
take a look to my blog: PI 7.3 - XML Validation -
R12.0.6 OA PG xml - Error in - MDS or File System - No data found on region
Hello,
Instance details:
I am in release 12.0.6,
Am using "p7523554_R12_GENERIC" patch for building my OA page
Business components version : 10.1.3.3
Issue:
(when i run my OA page from my desktop, it works, but upon migrating the code to unix, I get the below java exception stack)
a. I ftp-ed the requisite files to the unix box (in the requisite mode)
b. I imported the xml data into the MDS successfully
adjava -mx128m -nojit oracle.jrad.tools.xml.importer.XMLImporter $OA_JAVA/oracle/apps/xxcus/receivingq/webui/ReceivingQPG.xml -username apps -password password -dbconnection "(description = (address_list = (address = (community = tcp.world)(protocol = tcp) (host =hostname)(port = 1521)))(connect_data = (sid = TEST)))" -rootdir $OA_JAVA
c. when i run the below script in sql plus
begin
JDR_UTILS.PRINTDOCUMENT('/oracle/apps/xxcus/receivingq/webui/ReceivingQPG');
end;
I can see my page contents without any errors
d. I bounced the apache (adapcctl.sh) and oa core (adoacorectl.sh)
e. upon clicking my form function, i get the below error (exception stack below)
Exception Details.
oracle.apps.fnd.framework.OAException: No data found for region (/oracle/apps/xxcus/receivingq/webui/ReceivingQPG.xml).
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:529)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3745)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3467)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1100)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:702)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:252)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:186)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:191)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at RF.jspService(_RF.java:225)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:610)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
## Detail 0 ##
Exception:
oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /oracle/apps/xxcus/receivingq/webui/ReceivingQPG.xml, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository.
at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1394)
at oracle.adf.mds.MElement.findElement(MElement.java:97)
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:503)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3745)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3467)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1100)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:702)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:252)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:186)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:191)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at RF.jspService(_RF.java:225)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:610)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Exception:
oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = /oracle/apps/xxcus/receivingq/webui/ReceivingQPG.xml, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository.
at oracle.adf.mds.internal.MetadataManagerBase.findElement(MetadataManagerBase.java:1394)
at oracle.adf.mds.MElement.findElement(MElement.java:97)
at oracle.apps.fnd.framework.webui.JRAD2AKMapper.getRootMElement(JRAD2AKMapper.java:503)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getWebBeanTypeDataFromJRAD(OAWebBeanFactoryImpl.java:3745)
at oracle.apps.fnd.framework.webui.OAWebBeanFactoryImpl.getRootApplicationModuleClass(OAWebBeanFactoryImpl.java:3467)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1100)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:536)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:424)
at OA.jspService(_OA.java:212)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:702)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:252)
at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:42)
at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:186)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:191)
at com.evermind.server.http.EvermindPageContext.forward(EvermindPageContext.java:322)
at RF.jspService(_RF.java:225)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:335)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:478)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:401)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(ReleaseResFilter.java:26)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:318)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:610)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:359)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:299)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:187)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Please advise on any possible solution to this issue.
Thanks,
SanthoshHello Sumit,
In the form function registration,
I had this entry
OA.jsp?page=/oracle/apps/xxcus/receivingq/webui/ReceivingQPG.xml
Now, modified to,
OA.jsp?page=/oracle/apps/xxuns/receivingq/webui/ReceivingQPG
and it works.
Thanks a lot.
Anil,
Thanks for your suggestion.
Thanks,
Santhosh -
XML Validation with multiple XSD files (referenced)
Hello,
I know that XML validation with version 7.1 is possible now. However I was provided with a set of XSD files that have references to each other and need to be placed in a hierachical file system order so that references can be resolved.
An element <xsl:include schemaLocation="../../baseSchemas/baseSchema.xsd" /> is used for example. How can I handle that for XSD validation in PI? Can I create the same folder structure or do I need to put all XSD files in one directory and change the import manually?
But most important question: Is it possible it all to use more than one XSD for schema validation?Dear Florian,
I had encountered such case in a project.
I was given 3 files. One main file and 2 others called Schema1.xsd and Schema2.xsd.
This happens because your data type is not in single namespace, but is being referred across namespaces and software components.
I am assuming that you have read the How to Guide for XML validations on PI 7.1
Best way to do this quickly is as follows.
1. Enable XML validation at adapter engine in the sender agreement.
2. Post a message using HTTP post. (http://sappihttpclient.codeplex.com)
3. Check communication channel in runtime workbench. There will be an error saying which is missing at what path.
4. Create the path mentioned and place the file at that path.
5. Repeat steps 2,3,4 for all the files.
When you are done with this, you will get a proper validation error in case XML file is not correct. And remember to generate XSD from message type and not data type.
Regards,
Vikas
Edited by: Vikas Aggarwal on Sep 2, 2009 8:45 PM
Edited by: Vikas Aggarwal on Sep 2, 2009 8:48 PM -
Getting XML data of SSIS Package (which is located in File System) from a query
Hi,
We have around 200 SSIS packages deployed to File System. These pacakges are being scheduled using SQL Agent job.
So, currently I have a list of all the packages and their respective File Path.
Note : **They are NOT deployed to Server**.
Now, my task is to search all the packages which has a specific connection in it.
From the below blog, I got to know we can achieve this by querying the XML data of the SSIS Package.
https://www.simple-talk.com/sql/ssis/-exploring-ssis-architecture-and-execution-history-through-scripting/.
But in the above article they are getting the XML definition of the Package from msdb(as it was deployed to server).
In my requirement, SSIS Packages are in File System. Is there any way to to get the XML definition of these packages using a query.
Please let me know if the above requirement is not clear or if any further information is required.
Thanks
RakshaHi Visakh & Praveen,
Thanks for the response.
@Visakh: The query provided by you gives the information about all the connection strings in the package.
@Praveen: The query in the link provided by you lists the values of all the properties of the package like MaxerrorCount, CreatorName, CreatorDate and other properties.
I think, we may have to slightly modify this query to get the connection string values
Praveen, nice to hear from you after a long time and that too in this forum !! :) Hope you are doing good.
Thanks
Raksha -
Dear Experts,
after I finally managed to configure the XML Validation, we're facing the next problem:
The payload of the XML files looks like that:
Abcdef#ABCDEF
AbcDef#123
<?xml version="1.0" encoding="UTF-8"?><Document xmlns.....
as you can see, there's a header which is necessary. The XML Validation works fine if the header is removed manually for testing. If the header is not removed, the validation is not possible ("Content is not allowed in prolog.")
Is it possible to realise the validation WITH that header? Can I tell SAP PI to ignore the header? Or make any changes to the XSD file?
Thanks alot!Hi Armin,
Armin Kern wrote:
> After leaving SAP PI, those 2 lines have to be in that exact place (before the XML part) for further processing. Just deleting it wouldn't be enought. Does the complex design you mentioned complay with this requirement?
You can put it into the message instead of deleting. And rebuild the "header" in the second step. So you can fullfill the requirement. As mentioned before: The design is complex, this will lead later on to problems. Any change will be difficult, as another developer had to read a long documentation.
An alternative would be to do all with one interface mapping (without validation):
1. ABAP / Java mapping deleting the "header" (put it to memory)
2. Messges Mapping 1:1 each field (will fail in case of wrong format and act as validator)
3. ABAP / Java mapping restoring the header
4. Alert will be raised in case of an error (to get the result of the validation)
Armin Kern wrote:
> I also thought about splitting the message, deleting those 2 rows in one of the messages, sending this one message to PI again, validate it and if it is correct, send the second message (without mapping) to the final destination. No idea if that is possible at all..
As well possible. You would need a virtual receiver for the first message, which is sending back a response. For example a servlett, a proxy or a RFC module. In that design you put some logic to the sender, what is actually not bad. But if you do so, why you dont validate there as well (for example with Java)? It would make your design much easier..
Regards,
Udo -
Hi All,
We have a form library with around 2000 InfoPath forms submitted successfully, but suddenly from the couple of weeks noticing that, the users are able to submit the form successfully without
any issues but the referenced .xml file is physically not
getting saved and the strange thing is it's reference(i.e. xml) is available. When we try opening the form it gives below error.<o:p></o:p>
“InfoPath cannot open the following file ‘formpath/.xml’
”<o:p></o:p>
When we try viewing the version history, it gives below error:<o:p></o:p>
"The URL 'filename.xml' is invalid. It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current web"<o:p></o:p>
I have also looked at the logs but not much information. Can someone help me?
MercuryManHi,
According to the error message, this issue is a typically database related issue.
1. Make sure that your Content Database in SQL is not full.
Open SQL management studio and connect to SQL server that have your content DB.
You can find SQL server name from "manage servers in this farm".
Right click the content database, click Reports > Standard Reports > Disk Usage to generate a standard report.
For your reference:
http://social.technet.microsoft.com/Forums/en-US/178095de-7fba-482c-9be1-94e60b1906e0/sharepoint-2010-error-the-url-item-url-is-invalid-it-may-refer-to-a-nonexistent-file-or
2. According to KB 894631, this error message will be thrown out when the content database is configured to read-only.
Go to Central Administration > Manage Content Databases and check if it is the case. Also, recycle the application pool in case the cache was corrupted.
Thanks.
Tracy Cai
TechNet Community Support -
Deliver a report in XML format and save it to local file system on the server
We have OBIEE 10.1.3.4 on Redhat linux. We want to have generate a report in XML format and saved it to the server's file system. Did not realize this is s difficult task. Basically
1) How to create a XML report? It is not listed in the output items of a layout template.
2) How to deliver XML the report to local file system. Look into the Delivery section of Admin page. FTP should be the best choice, but does that means that one need to install and run ftp server on the BI server box?
ThanksHi,
Since I still have problems on this subject, I would like to share on how it progresses.
Currently I have a problem of timeout in step "Truncate XML Schema" with the URL that I mentioned above.
The exact error is the following : 7000 : null : com.sunopsis.sql.l: Oracle Data Integrator TimeOut : connection with URL [...]
The connection test is still OK.
I tried to increase the value in the user's pref but there's no change. -
I hava a JSP application that uses the XDK to query the database and display XML rowset data to a JSP. This rowset data can be a few hundred rows or up to 50,000 rows,
as we publish technical manuals, parts manuals and wiring manuals for aircraft.
Getting the data to display within the JSP is not a problem. The problem is
that the XML rowset data shares two purposes:
1. Query by Example, returning
XML formatted data for display within a browser.
2. Use of the XML formatted
data as an external entity file for our SGML authoring software to print the
paper publication.
The JSP I developed (I'm not sure I should take credit for it) uses the XMLData bean and it will open the browser File/SaveAs dialog in both Netscape (Unix) and IE5.5 (Windows). HOWEVER, when I create a second JSP to perform the same task on a different table the JSP errorpage shows with no error and no errors within the JDeveloper console. This has been kicking my butt for some time, and would very much appreciate a workable solution. I will share whatever I can share with the provider. Here is the JSP code.
=============================================
<?xml version="1.0"?>
<%@ page language = "java" errorPage="errorpage.jsp" import = "java.io.*, java.util.*, oracle.jbo.*, javax.naming.*, oracle.jdeveloper.html.*, oracle.jbo.html.databeans.*" contentType="text/html;charset=ISO-8859-1" %>
<jsp:useBean class="oracle.jbo.html.databeans.XmlData" id="h25EqXml" scope="request" >
<%
h25EqXml.setResultElement("equiptbl");
h25EqXml.setReleaseApplicationResources(true);
h25EqXml.setDisplayAttributes("Ein,Pnr,Nomen,Cage,Diagnbr,Sht,Effect");
h25EqXml.initialize(pageContext,"h25Wires_JspApp_h25Wires_be_H25Wires_beModule.HU25A_Equipment");
response.setContentType("text/sgml");
response.setHeader("Content-location","attachment;filename="+"equiptbl.sgm");
ServletOutputStream sos = response.getOutputStream();
BufferedInputStream bis = new BufferedInputStream (new FileInputStream("equiptbl.sgm"));
int data;
while((data = bis.read()) != -1)
sos.write(data);
bis.close();
sos.flush();
sos.close();
%>
<jsp:forward page= "HU5A_Equipment_Browse.jsp" />
</jsp:useBean>
============================================
The code for the other pages is the same with the exception of the filename xxx.sgm and the bean id.
I very much appreciate your help. Thanks!
nullHello Paulo,
thank you for your answer, but i'm using type 04 XML for SEPA.
when i select Type XML, the fields "output to file system" and "filename" are hidden.
i dont understand why ... -
OC4J and Local (system) XML DTD files
I am in a situation where I am deploying a web application to an instance of 10.1.2 that is on a public-facing box that does not have the ability to access the outside world via the web due to security restrictions.
When I start the application, I'm getting connection refused errors because the XML parser is trying its hardest to validate the XML files for Spring and MyFaces by remotely fetching the DTD file. Is there a way I can get the application to read a local copy of the DTD without having to hard code a full path to the file?
I've tried changing the doctype declaration for MyFaces to look like this:
<!DOCTYPE faces-config SYSTEM "web-facesconfig_1_0.dtd">And I put the DTD in the same directory as the XML configuration file (in the WEB-INF directory). Eclipse seems to like that ok, but when I deploy that to 10.1.2, I get the following exception:
javax.faces.FacesException: java.net.MalformedURLException: no protocol: web-facesconfig_1_0.dtd
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:123)
at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(StartupServletContextListener.java:63)
at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:46)
at com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:1009)
at com.evermind.server.http.HttpApplication.<init>(HttpApplication.java:549)
at com.evermind.server.Application.getHttpApplication(Application.java:890)
at com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:707)
at com.evermind.server.http.HttpSite.initApplications(HttpSite.java:625)
at com.evermind.server.http.HttpSite.setConfig(HttpSite.java:278)
at com.evermind.server.http.HttpServer.setSites(HttpServer.java:278)
at com.evermind.server.http.HttpServer.setConfig(HttpServer.java:179)
at com.evermind.server.ApplicationServer.initializeHttp(ApplicationServer.java:2394)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1551)
at com.evermind.server.ApplicationServerLauncher.run(ApplicationServerLauncher.java:92)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.MalformedURLException: no protocol: web-facesconfig_1_0.dtd
at java.net.URL.<init>(URL.java:567)
at java.net.URL.<init>(URL.java:464)
at java.net.URL.<init>(URL.java:413)
at oracle.xml.parser.v2.NonValidatingParser.pushExternalDTD(NonValidatingParser.java:543)
at oracle.xml.parser.v2.NonValidatingParser.parseDoctypeDecl(NonValidatingParser.java:468)
at oracle.xml.parser.v2.NonValidatingParser.parseProlog(NonValidatingParser.java:301)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:280)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:196)
at org.apache.commons.digester.Digester.parse(Digester.java:1548)
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:183)
at org.apache.myfaces.config.FacesConfigurator.feedWebAppConfig(FacesConfigurator.java:387)
at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:120)
... 14 moreI've tried variations like ./filename.dtd and ../filename.dtd to no avail. I'm sure I'm missing something fundamental here, but how can I get OC4J to read my local DTD?
Thanks in advance!Avi, you're right, the parser is indeed wanting a real URL. So here's what I've done. I replaced the dtd filename with the complete path to the file, so it looks like this:
<pre>
<!DOCTYPE faces-config SYSTEM "file:///C:/path/to/dtd/web-facesconfig_1_0.dtd">
</pre>
I deployed, started the app, and it worked. This doesn't really feel like the right solution, however, because I'm going to have to rely on a hardcoded file location for the DTD on our production server. If our admins change that, then I'm out of luck and would have to redeploy the application. Does anyone know if there is a way to get this to be more relative?
One idea that someone gave me was to put the DTD files in a web-accessible location in the application and reference via http:// instead of file://. At least that way I wouldn't be dependent on the file system. I'd still have to hardcode a URL so I couldn't use the same files for all our development environments, but it might be a slightly cleaner solution. Another possible (yet really ugly) solution is to inline the DTD's in the XML file.
Asanka, I'm not quite sure I follow what you said. Where would I put such code to use Xerxes? In a servlet loaded on init?
Thanks for the help so far, everyone. -
Get errors of a xml validation from xsd file
hi everyone,
i created a xml validation from a XSD file as follow:
public String validate(String xml) {
String saida = "";
InputStream xsd = XmlValidator.class.getResourceAsStream("shiporder.xsd");
try {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setNamespaceAware(true);
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes());
Document doc = docBuilder.parse(is);
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Source schemaFile = new StreamSource(xsd);
Schema newSchema = (Schema) factory.newSchema(schemaFile);
Validator validator = newSchema.newValidator();
validator.validate(new DOMSource(doc));
saida = "SUCESSO";
} catch (DOMException ex) {
ex.printStackTrace();
saida = "DOM";
} catch (SAXException ex) {
saida = ex.getMessage();
} catch (IOException ex) {
ex.printStackTrace();
saida = "IO";
} catch (ParserConfigurationException ex) {
ex.printStackTrace();
saida = "PARSER_CONFIGURATION";
return saida;
}this code works perfectly, but i must change one thing.
When is found a error on a xml structure, one exception is threw, and then the method is finalized. However i need to show up all errors on one shot.
Because right now when i run and it find a error, the method throw an exception an stop, so i have to adjust, then execute again and adjust another repeatedly until everything is right, so i have to change that.
Anyone could help me?
thanks in advanceThat's the rule for XML validation. As soon as the parser finds an error, it must report it and stop.
If you are having a lot of trouble creating an XML document which conforms to a schema, perhaps you should invest in one of those XML editors which supports validation as you enter the document.
Maybe you are looking for
-
Setting up webauth for guest wireless access
Hi there, I'm trying to set up guest wireless access. having no experience with this at all, I'm beginning to struggle. Equipment: 2x 3850 stacked and acting as one switch running 03.06.00E 4x 1602E AP's registered to the WLC running on the 3850 The
-
Interactive Reports in Firefox 3.0.5
Hi! When running an interactive report in Firefox 3.0.5, the pull-down menu next to the cog icon does not display right over the icon as it does in IE. Rather, the menu displays at the bottom of the page below the report area. Anyone knows why is thi
-
When loading a concert upon start up lots of the instrument settings are missing/not assigned correctly. I saved the concert before shutdown with all the sliders and knobs assigned correctly and working. Any help on this one Many Thanks Steve
-
Hi everyone looking for some advice where possible. I returned home from work yesterday and i had a pop up on the general freeview channels advising Low signal but the internet channels were all ok so i reset and retuned but still only have the 60 o
-
Sort of a newbie, perhaps someone can assist. When I work in local mode and save a file/page, it does not automatically upload to the server as it should. I have this checked off in the preference and in the site manager when I set up the new local s