cancel
Showing results for 
Search instead for 
Did you mean: 

Detroubulator: RESOURCE_NOT_FOUND when testing XSLT mapping

Former Member
0 Kudos

Hello Everybody

I have tried to test a XSLT mapping on SAP-XI (7.0, service pack 14) using Detroubulator (1.1.0):

- JRE = jre1.6.0_03

- JCo = 2.1.8

- JUnit = junit-4.4.jar

- aii_map_api.jar was copied from XI server to /detroubulator/lib

However, running my test file I receive the following error:


Detroubulator version 1.1.0, copyright 2006, 2007 AppliCon A/S
Test file: test_xslt.xml

04.02.2008 07:36:08 org.detroubulator.server.XIServerRFCImpl configure
INFO: JCo version: 2.1.8 (2006-12-11)
04.02.2008 07:36:09 org.detroubulator.core.Launcher terminate
SCHWERWIEGEND: Termination requested with message: Server error: RESOURCE_NOT_FOUND,E,205,0,sap.invoic02.tradacom.1993.invoic.xsl,http://lindt.com/customer/defaults,829eeb5c-6af6-3be5-838d-0a40ea0fdfcb,-1
04.02.2008 07:36:09 org.detroubulator.core.Launcher terminate
SCHWERWIEGEND: org.detroubulator.server.ServerException: RESOURCE_NOT_FOUND,E,205,0,sap.invoic02.tradacom.1993.invoic.xsl,http://lindt.com/customer/defaults,829eeb5c-6af6-3be5-838d-0a40ea0fdfcb,-1
	at org.detroubulator.server.XIServerRFCImpl.executeMapping(Unknown Source)
	at org.detroubulator.server.XIServerRFCImpl.executeXSLTMapping(Unknown Source)
	at org.detroubulator.mappingprograms.XSLTMapping.execute(Unknown Source)
	at org.detroubulator.core.TestSuite.execute(Unknown Source)
	at org.detroubulator.core.Launcher.start(Unknown Source)
	at org.detroubulator.core.Launcher.main(Unknown Source)

Server error: RESOURCE_NOT_FOUND,E,205,0,sap.invoic02.tradacom.1993.invoic.xsl,http://lindt.com/customer/defaults,829eeb5c-6af6-3be5-838d-0a40ea0fdfcb,-1

The crucial parts of the test file are shown below:


<?xml version="1.0" encoding="UTF-8"?>

<testsuite>	
	<server>
		<configuration>
                 ...
		</configuration>
	</server>

	<program type="xslt">
		<configuration>
			<parameter name="name">sap.invoic02.tradacom.1993.invoic.xsl</parameter>
			<parameter name="ns"><a href="http://lindt.com/customer/defaults" TARGET="test_blank">http://lindt.com/customer/defaults</a></parameter>
			<parameter name="swcv.id">829eeb5c6af63be5838d0a40ea0fdfcb</parameter>
		</configuration>
	</program>
	
	<!--
	<transformationparams>
    <parameter name="MESSAGE_ID">4fc43701f6e53e3eb5ef4748631adffb</parameter>
</transformationparams>
  -->
	<reporting>
		<testreport type="console">
			<configuration>
				<parameter name="dumpdir">dumped_output</parameter>
			</configuration>
		</testreport>
		<testreport type="xml">
			<configuration>
				<parameter name="file">sample_report_xslt.xml</parameter>
				<parameter name="dumpdir">dumped_output</parameter>
			</configuration>
		</testreport>
		<testreport type="html">
			<configuration>
				<parameter name="file">sample_report_xslt.html</parameter>
				<parameter name="dumpdir">dumped_output</parameter>
			</configuration>
		</testreport>
	</reporting>
	<tests>
		<testcase>
			<inputdocument>invoic_00256850.xml</inputdocument>
			<assertions>
			   <content xpath="/INVOIC/SG_THEADER/S_STX/APRF" expect="INVTES">Invoice is test-only</content>
			</assertions>
		</testcase>
	</tests>
</testsuite>

The JCo connection to the SAP-XI server works yet the XSLT program is not recognized.

Has anybody experienced similar problems and found a solution?

Regards,

Uwe

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Uwe and Christof

I would start by double checking that the Software Component Version object ID is correct. Could you please do that and reply to this thread?

Regards,

Morten Wittrock

Former Member
0 Kudos

Hi Morton,

Now I have checked the object id. But i'm doubtful, if i take the correct id. I create an imported archive and take the the Object Id from the Properties dialog of the archive. I take this number as parameter swcd.id.

Regards

Christof

Former Member
0 Kudos

Hi Christof

What you need is not the object ID of the imported archive, but the object ID of the Software Component Version (SWCV) that contains the mapping (stylesheet in your case and Uwe's). Here's a quote from the FAQ regarding where to find this ID:

"In the Integration Builder object navigation area, double-click the SWCV in question. In the "Display Software Component Version" work area, select the menu option "Properties..." from the "Software Component Version" menu. The "Object Attributes" dialog is displayed, containing the object ID you require."

Let me know how it works out.

Regards,

Morten Wittrock

Former Member
0 Kudos

Hi Morton,

I have exchange the swcv.id, but the system does not find the resource. The same errors occures.

I have checked it with several variations of the parameter name:

with and without .xsl

with and without starting ./

Thanks

Christof

Former Member
0 Kudos

Hello again

Regarding the naming of the stylesheet: If the name is EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl, XI will look for a file called InvoiceEdiToInvoiceIdoc.xsl in an imported archive. The file is expected to be located in a folder called xslt, which is expected to be located in a folder called EDIFAKT. Is that the actual structure of your imported archive?

Regards,

Morten Wittrock

Former Member
0 Kudos

Hi,

when I wrote this notice, it was so. Now I have moved the file in the top level path, because the file imports several other files.

The configuration looks now so:


	<program type="xslt">
		<configuration>    
			<parameter name="name">InvoiceEdiToInvoiceIdoc.xsl</parameter>
			<parameter name="ns"><a href="http://vng.de/xi/energy/vng" TARGET="test_blank">http://vng.de/xi/energy/vng</a></parameter>
			<parameter name="swcv.id">6b21ea006cd911dc9241df8b0a600ab2</parameter>
		</configuration>
	</program>

Thanks

Christof

Former Member
0 Kudos

Is it working, then?

Regards,

Morten Wittrock

Former Member
0 Kudos

Hi Morton,

No, it doesn't work. I get the same error message as before.

Server error: RESOURCE_NOT_FOUND,E,205,0,InvoiceEdiToInvoiceIdoc.xsl,http://vng.

de/xi/energy/vng,6b21ea00-6cd9-11dc-9241-df8b0a600ab2,-1

Last week I was absent.

Regards

Christof Lehmann

uwe_schieferstein
Active Contributor
0 Kudos

Hello Morten

Mea Culpa! (I should wear sackcloth and ashes)

As soon as I took the correct object ID (object ID of the Software Component Version (SWCV) it worked!

Here is brief description for dummies like me how to find the SWCV:

In the tree hierarchy of the Integration Builder (Design) the top nodes are the software components.

On the second level there are the component version.

  • Software Component

    • Software Component Version (Christof: take its object ID and it will work !!!)

      • Namespace

        • Mapping Objects

          • Imported Archives

            • e.g. archive with XSLT mapping (its object ID is NOT relevant !!!)

Kind Regards

Uwe

Former Member
0 Kudos

Hi Uwe

Glad to hear it!

We're working on making it easier to identify the Software Component Version. Ideally, you'd just enter its name. We're aware that it's a bit annoying at the moment.

Christof, Uwe's breakdown of the object IDs is a great visualisation. Does it help you identify a problem?

Regards,

Morten Wittrock

Answers (2)

Answers (2)

uwe_schieferstein
Active Contributor
0 Kudos

Hello Christof and Morten

Many thanks for your collaboration in trying to solve my problem.

Unfortunately, I am currently very busy with establishing EDI trading relationships with lots of our customers. Therefore I do not find the time at the moment to check your proposals.

However, I will definitely return to this topic because the Detroubulator may become a crucial testing component for EDI in our company.

Kind Regards,

Uwe

Former Member
0 Kudos

Hello everybody,

I have the same problem, but as path delimiter I use the slash.

<parameter name="name">com/invoice01/my_map.xsl</parameter>

Detroubulator with option -d writes such a log:

1A "3" "Creating XSLT mapping /EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl."

2A "3" "Load 0c04fdb5-57db-3510-989e-afa01a95280e, http://vng.de/xi/energy/vng, -1, EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl."

3A "3" "Search EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl (http://vng.de/xi/energy/vng, -1) in swcv 0c04fdb5-57db-3510-989e-afa01a95280e."

4A "3" "Does not found exact entry. Search in other namspaces."

5A "3" "Search EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl (-1) in swcv 0c04fdb5-57db-3510-989e-afa01a95280e without namespace."

6A "1" "Unable to find resource EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl (http://vng.de/xi/energy/vng, 0c04fdb5-57db-3510-989e-afa01a95280e, -1)"

7A "1" "com.sap.aii.ibrun.server.mapping.persist.ResourceNotFoundException: Unable to find resource EDIFAKT/xslt/InvoiceEdiToInvoiceIdoc.xsl (http://vng.de/xi/energy/vng, 0c04fdb5-57db-3510-989e-afa01a95280e, -1) at com.sap.aii.ibrun.server.mapping.persist.DBSwcvMappingPersistor.getInputStream(DBSwcvMappingPersistor.java:325) at com.sap.aii.ibrun.server.mapping.persist.DBSwcvMappingPersistor.readFile(DBSwcvMappingPersistor.java:203) at com.sap.aii.ibrun.server.mapping.MappingResolver.loadSource(MappingResolver.java:114) at com.sap.aii.ibrun.server.mapping.MappingPool$TemplateFactory.load(MappingPool.java:314) at com.sap.aii.ibrun.server.mapping.MappingPool$TemplateFactory.newFactory(MappingPool.java:331) at com.sap.aii.ibrun.server.mapping.pool.Pool.getNewPoolLine(Pool.java:72) at com.sap.aii.ibrun.server.mapping.pool.Pool.checkOut(Pool.java:60) at com.sap.aii.ibrun.server.mapping.MappingPool.checkOut(MappingPool.java:82) at com.sap.aii.ibrun.server.mapping.XSLTMapping.executeStep(XSLTMapping.java:44) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:92) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0_0.processFunction(MappingServiceObjectImpl0_0.java:131) at sun.reflect.GeneratedMethodAccessor277.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:62) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy217.processFunction(Unknown Source) at sun.reflect.GeneratedMethodAccessor276.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:62) at java.lang.reflect.Method.invoke(Method.java:391) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.call(RFCDefaultRequestHandler.java:277) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:219) at com.sap.engine.services.rfcengine.RFCJCOServer$J2EEApplicationRunnable.run(RFCJCOServer.java:260) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:215) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)"

The xi system finds the xslt as part of a szenario.

Regards

Christof