XSLT mapping with SOAP Envelope
Hi
I'm trying map SOAP response (with Envelope) to pick two values into the target. Here's the data:
Source (with data):
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<EnumerateResponse xmlns="http://www.approva.net/BizRights/Services">
<EnumerateResult>
<TaskID>-1</TaskID>
<Result>FinishedSuccessfully</Result>
<StatusInfo/>
</EnumerateResult>
<pageObject>
<startIndex>0</startIndex>
<pageSize>10</pageSize>
<totalRows>1</totalRows>
<moreRecords>false</moreRecords>
<rowsReturned>1</rowsReturned>
</pageObject>
<xmlObjects>(large string of valid data in here)</xmlObjects>
</EnumerateResponse>
</soap:Body>
</soap:Envelope>
Target:
Only need Result and xmlObjects into target.
Mapping:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<poll_status_resp_r3>
<Result>
<xsl:value-of select="EnumerateResponse/Result"/>
</Result>
<xmlObjects>
<xsl:value-of select="EnumerateResponse/xmlObjects"/>
</xmlObjects>
</poll_status_resp_r3>
</xsl:template>
</xsl:stylesheet>
The values are not getting picked-up into the target.
What am I missing here?
Any help is appreciated.
Hi,
Save the following XSL file as RSpace.xsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
<xsl:template match="/|comment()|processing-instruction()">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@*|node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
Zip it and import it under Imported Archive.
In the interface mapping click "+" to add one more mapping.
Use this XSL as first mapping and your XSL mapping as the second mapping.
In your XSLT mapping you can use the XPath as
"Envelope/Body/EnumerateResponse/Result".
I mean remove the namespace and use the XPATH.
Thanks,
Prakash
Similar Messages
-
XSLT Maps with Java enhancements - JCO_SYSTEM_FAILURE
Hi,
I have reviewed several postings regarding XSLT Maps with Java enhancements. I followed instructions and build a jar file and the XSLT document. I built one imported archive with the .jar and .xsl. For the class, The path get loaded properly.
However, I still have a problem when and execute the interface.
My xslt has the following information
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns="http://xyz.abc.sap.def.com"
xmlns:javamap="java:xyz.Date_Time">
<xsl:param name="inputparam" />
<xsl:template match="/">
<test><xsl:value-of select="javamap:getDateValue($inputparam)"/></test>
</xsl:template>
</xsl:transform>
In SXMB_Moni I get the following error...
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">JCO_SYSTEM_FAILURE</SAP:Code>
<SAP:P1>Exception in method processFunction.</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>"SYSTEM FAILURE" during JCo call. Exception in method processFunction.</SAP:Stack>
<SAP:Retry>A</SAP:Retry>
</SAP:Error>
If i remove the line
<test><xsl:value-of select="javamap:getDateValue($inputparam)"/></test>
The map ends successfuly.
Comments would be appreciated.
Regards,
SergioStefan,
Find the class and method definition below. The method is static and it returns the string.
==========
package xyz;
import java.util.Map;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import java.util.*;
import java.text.*;
public class Date_Time {
private static AbstractTrace trace = null;
public static String getDateValue(Map inputparam)
trace = (AbstractTrace)inputparam.get(
StreamTransformationConstants.MAPPING_TRACE );
Date now1 = new Date();
SimpleDateFormat formatter = new SimpleDateFormat ("yyyyMMd");
String dateString = formatter.format(now1);
return dateString; -
XSLT To Remove Soap Envelope...
Hi,
I'm trying to use XSLT mapping to remove SOAP envelope from a soap response message. Facing some issues.
This is my response message(with soap envelope):
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<loginResponse xmlns="urn:enterprise.soap.sforce.com">
<result>
<passwordExpired>false</passwordExpired> <serverUrl>https://blitzna1.eng.salesforce.com/services/Soap/c/5.0</serverUrl> <sessionId>aaaaaaaaaaaaaaa</sessionId>
<userId>bbbbbbbbbb</userId>
</result>
</loginResponse>
</soapenv:Body>
</soapenv:Envelope>
This is my xsl program:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="soapenv:Body">
<xsl:copy-of select="soapenv:Body"/>
</xsl:template>
</xsl:stylesheet>
Where am I going wrong here?
Regards,
HarshThis is wrong:
<xsl:template match="soapenv:Body">
<xsl:copy-of select="soapenv:Body"/>
When you have template match="node", you can only work with sub nodes. So your XSLT searches for sub nodes of <i>Body</i> with the name <i>Body</i>.
You could use select=".", but you want to remove the SOAP envelope, so you have to remove the tag Body as well:
<xsl:template match="soapenv:Body">
<xsl:copy-of select="child::node()"/>
Regards
Stefan -
XSLT Mapping with Java Enhancement
Hi All
I am working on XSLT Mapping with Java Enhancement.
To do this scenario i have followed the following link.
http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/frameset.htm
As per the above link I have created Source and Target Data Types , Message Types , Mesage Interfaces, XSLT Mapping (using the transaction XSLT_TOOL) and Interface Mapping part and configred a simple file to file scenario in the ID part.
Apart from this I have wirte the java code, compile the java code, create the jar file using .java and .class file and after creating the jar file import the .jar file in the imported archive of the IR..
when I am trying to execute the scenario I am getting the successful message in SXMB_MONI but the target file is having the payload as given below.
<?xml version ="1.0" encoding="UTF-8"?>
<name xmlns:javamap="java:com.company.group.MappingClass"/>
And as per the XSLT mapping the payload should be as below
<?xml version ="1.0" encoding="UTF-8"?>
<person>
<name>Rinku Gangwani</name>
</person>
I have also followed the following blog link but still i am getting the same issue
/people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
could you please tell me what can be the reason that i am getting the blank targt field values in the payload.
Thanks
Rinku GangwaniHi,
The Transaction code XSLT_TOOL for ABAP xslt mapping.But the Java Enhancement is used for normal xslt mapping which we created using Stylus Studio.You can not access the Java Enhancement in ABAP xslt mapping.
If you want to use Java Enhancement in xslt mapping then create a xslt mapping using Stylus Studio and save the file as .xsl and zip the .xsl and import to import archive.
Regards,
Prakasu.M
Edited by: prakasu on May 28, 2009 1:46 PM -
XSLT mapping with Java helper classes
Hi,
I'm trying to implement a XSLT mapping to convert my request to a specific soap request message format for this I'm calling some methods from a java helper class. I have imported the jar file into the archives. When I tried to test the interface it keeps complaing there is some exception but doesn't give me the exact error. Has any one called any java helper classes with in XSLT mapping, if so I would appreciate if you could help me with this. Here is the code from xsl.
<wsse:Security soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext" xmlns:UserToken="java:com.company.test.mapping.UserTokenMap">
<wsse:UsernameToken>
<wsse:Username xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getUsername()"/>
</wsse:Username>
<wsse:Password wsse:Type="wsse:PasswordDigest" xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getPasswordDigest()"/>
</wsse:Password>
<wsse:Nonce xsi:type="soapenc:string" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getNonce()"/>
</wsse:Nonce>
<wsu:Created xsi:type="soapenc:string" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<xsl:value-of select="UserToken:getCreateDate()"/>
</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
Thanks,
JoeHi,
I'm getting following exception when I refer to the java class with in my XSLT mapping. Any one encountered the same problem.
com.sap.engine.services.ejb.exceptions.BaseRemoteException:
Exception in method transform.
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:218)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:104)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320)
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198)
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native
Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: java.lang.UnsupportedClassVersionError:
com/earthlink/xi/mapping/UserTokenMap (Unsupported
major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native
Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.lang.ClassLoader.defineClass(ClassLoader.java:448)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingLoader.findClass(RepMappingLoader.java:175)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at com.sap.engine.lib.xsl.xpath.JLBLibrary.<init>(JLBLibrary.java:33)
at com.sap.engine.lib.xsl.xpath.LibraryManager.getFunction(LibraryManager.java:69)
at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:98)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43)
at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51)
at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248)
at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296)
at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431)
at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394)
at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398)
at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150)
at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81)
at com.sap.aii.ibrep.server.mapping.ibrun.RepSequenceMapping.execute(RepSequenceMapping.java:54)
at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80)
at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127)
at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40)
at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.transform(MapServiceRemoteObjectImpl0.java:167)
... 10 more
; nested exception is:
java.lang.UnsupportedClassVersionError:
com/earthlink/xi/mapping/UserTokenMap (Unsupported
major.minor version 49.0) -
XSLT Problem with soap namespace
Hi there,
I have a problem transforming an XML doc with soap elements, using XSLT (Xalan).
Here's the input:
<?xml version = "1.0" encoding = "ISO-8859-1"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.ean.nl">
<testthis>123456</testthis>
</soap:Envelope>and here's the XSL:
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="soap:Envelope">
<Orders>
<H01>
<xsl:value-of select="testthis"/>
</H01>
</Orders>
</xsl:template>
</xsl:transform>I expect to get something like:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<H01>123456<H01>
<Orders>But instead I get:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<H01/>
</Orders>I've tried a lot of things and I'm probably overseeing something stupid, but I'm stuck.
It seems as if anything without soap: namespace cannot be processed by my XSL (when I add it in the input XML and XSL it works).
Any help would be greatly appreciated.
Greetings,
ErikYes, I found it!
The following XSL for the same XML doc works!
<?xml version="1.0"?>
<xsl:transform xmlns:ean="http://www.ean.nl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="soap:Envelope">
<Orders>
<H01>
<xsl:value-of select="ean:testthis"/>
</H01>
</Orders>
</xsl:template>
</xsl:transform>Thanks, you pointed me in the right direction :-)
Erik -
XSLT Mapping with Java class not working in Integration Repository
Hi,
I have an XSLT mapping program with Java enhancement and I was able to successfully tested it in Stylus Studio. However, when I imported the Java class and the xslt program in Enterprise Service Builder and tested it, my program does not compile.
Here is the error message: "Transformer Configuration Exception occurred when loading XSLT mapping_temp.xsl; details: Could not compile stylesheet".
My java program is in a zip file containing SOAPHeaderHandler.java and SOAPHeaderhandler.class. My Java has a package com.nga.xslt.
Here is the declaration of my Java class in the XSLT: xmlns:javamap="java:com.nga.xslt.SOAPHeaderHandler"
It seems that it could not read the java class. Can you please advice what is wrong?Hi ,
select XMLTOOLKIT option in Operation mapping and execute it.
I am not sure we can call java program in XSLT Program,but alternative is copy the code and use it in XSLT mapping it self,that means your XSLT program will become with JAVA extensions.
then in Operation mapping level select SAPXMLTOOL kit option and execute it. i hope it will work. if it is not working then you have deploy some JAXP files on server,because the way execution of XSLT Mpaping program got changed,like when eve you executing XSLT with extnasions( if you are not using XMLTOOL kit option) then you have to use latest version of JAXP.JDK files.
Regards,
Raj -
XSLT Mapping with Dynamic Configuration for Mail Adapter
Hi Guys,
I am wondering if somebody can help me please.
I have a requirement in which I need to pick up the file from FTP and email it to the user as an attachment with the same file name and content.
I know it is possible via 3 method either by deploying adapter module or via XSLT or JAVA Mapping.
I preferred XSLT Mapping because it is easier to use and we don't need to compile the code like JAVA Mapping.
I have done the XSLT Mapping but the only problem I am facing is that how to copy the file name which we get it from Dynamic Configuration to the Mail ContentDisposition.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:map="java:java.util.Map"
xmlns:dyn="java:com.sap.aii.mapping.api.DynamicConfiguration"
xmlns:key="java:com.sap.aii.mapping.api.DynamicConfigurationKey">
<xsl:output indent="no" />
<xsl:param name="inputparam"/>
<xsl:template match="/">
<!-- change dynamic configuration -->
<xsl:variable name="dynamic-conf"
select="map:get($inputparam, 'DynamicConfiguration')" />
<xsl:variable name="dynamic-key"
select="key:create('http://sap.com/xi/XI/System/File', 'FileName')" />
<xsl:variable name="dynamic-value"
select="dyn:get($dynamic-conf, $dynamic-key)" />
<xsl:variable name="dummy"
select="dyn:put($dynamic-conf, $dynamic-key, $new-value)" />
<!-- copy payload -->
I tried many option but unfortunately none of them worked.
<Content_Disposition>attachment;filename="$inputparam"</Content_Disposition>
<Content_Disposition>attachment;filename="$dynamic-conf"</Content_Disposition>
<Content_Disposition>attachment;filename="$dynamic-key"</Content_Disposition>
<Content_Disposition>attachment;filename="$dynamic-value"</Content_Disposition>
<Content_Disposition>attachment;filename="$dummy"</Content_Disposition>
<Content_Disposition>
attachment;filename=
<xsl:value-of select="dynamic-key"/>
</Content_Disposition>
I really appreciate if someone can please provide some guidance.
Thanks,Hi,
Yes u r correct it will show error in operation mapping.. bcoz u cannot check the DynamicConfiguration in Operation mapping...
It will throw Exception..
The parameter to UDF depends on ur requirement.... Let us know ur requirements exactly...
If u r doing for file to file means no UDF required,, just check ASMA on both sides....
Babu -
Hi,
I'm trying to do my first XSLT mapping. For that, I'm testing the SAP example found in XI help: it's a concatenate function between a FirstName and a LastName which uses Java function "Merge".
But... I have this error:
<i>Unable to find resource com/company/group/MappingClass.class (http://test, -1) in the following software component versions: 60530c50-5a4c-11d9-9740-cb29ac1601f1</i>
Do I declare the Java class "MappingClass" or "Merge" function somewhere in XI?
Regards.
Mickael.Unfortunately there are some errors in the documentation:
In the XSLT:
<xsl:if test="function-available('javamap:merge')">
Here "merge" is wrong, write "concat" instead.
In the Java Class:
private MappingTrace trace = zero;
This declaration has to be static, and of course "null" not "zero"
To compile the Java Code, you need the library aii_map_api.jar.
I have put all here:
http://de.geocities.com/stefan_grube/MappingExample.zip
Upload MappingExampleXSLT.jar and MappingExampleJava.jar as "Imported Archive" under "Mapping Objects"
For testing use the file testXSLT.xml.
Regards
Stefan -
XSLT Mapping with Java Enhancement - how to pass Java Errors
Hi all,
I plan to build a XSLT-Mapping and do a RFC-Call out of it. (Client order!) So, I have to call my selfwritten Java class from the XSLT mapping and therefore report Connection errors back to the XSLT mapping (from Java). Is there a definition for the interface between Java and XSLT I can use?
Thanks and regards.
Danielhi,
hope this one will be more appropriate link
http://help.sap.com/saphelp_nw04s/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/frameset.htm
and this link will also be useful
http://help.sap.com/saphelp_nw04s/helpdata/en/4c/b2ad3de2d76b3be10000000a114084/frameset.htm
regards,
sundararamaprasad -
Problem when using XSLT Mapping with Java Methods.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:javamap="java:at.pi.mapping.besoldung.BesoldungMapping">
<xsl:template match="Messages">
<Messages>
<Message1>
<xsl:apply-templates></xsl:apply-templates>
</Message1>
</Messages>
</xsl:template>
<xsl:template match="Message1">
<test></test>
<xsl:param name="inputparam"></xsl:param>
<xsl:for-each select="MT_BesoldungConversions">
<test1></test1>
<!-- Prüfen ob die subtractDates Methode verfügbar ist -->
<xsl:if test="function-available('javamap:createWhitespace')">
<xsl:if test="function-available('javamap:extendTextWithWhitespaces')">
<MT_BesoldungOut>
<EDI_DC40>
<xsl:param name="tablename">
<xsl:value-of select="tablename"></xsl:value-of>
</xsl:param>
<xsl:variable name="constTen">10</xsl:variable>
<xsl:value-of select="javamap:extendTextWithWhitespaces($tablename,$tablename, $inputparam)"></xsl:value-of>
</EDI_DC40>
</MT_BesoldungOut>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>incomplete post
-
XSLT mapping with bpel varable
Hi Experts,
I have two schemas (source and destination) from where I want to map and create xsl.However while doing mapping I need a variable (ll be data collection from db adapter) also passed to xsl mapping and hence forth using the variable I have the logic.How I ll handle this?
Cheers-AswiniDrop a transform activity, add the variables which you want on the sources side and add the target variable(there can be only one target variable attached) and in the XSL, use the xsl constructs and other string functions to transform the data as required.
-
WSSE problems with soap envelope
Hi,
I'm trying to use a Java control to talk to an external website which
requires a digital signature in the Soap Header and cannot seem to get a
properly formatted soap message.
Based on the documentation, I have set up the wsse file to specify that I
want to add a digital signature and also specify my alias, password,
keystore, and keystorepassword. I am sure that it is picking up the digital
cert and is able to take out the private key and all (I get exceptions if I
move the cert or if I specify an incorrect password).
I am also using my own ClientHandler to add in additional Header elements
that are required by the destination webservice. I know that that is being
properly based on inspecting the soap message in my header and that the
external webservice is able to process my request. In adding in the WSSE
Client Handler however, it looks like the security handler is adding an
additional Header element rather than adding the required subelements into
the existing Header element (the one that my Client Handler already
created). I am getting back an exception from the webservice saying that
the Header element is already defined.
Is it possible that the WSSEClientHandler, while adding the necessary
attributes is not looking for or detecting the already existing Header?
I have submitted a case to weblogic support but have not yet heard back
(case # 525549).
Thanks,
GaryHi Klaus
In your wsdl file the soap address tag (given below)
<b><soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/></b>
is to be edited as
<b><soap:address location="http://xxxxxxxx:50000//XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out" /></b>
because the soap address format should be like :
<i>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</i>
For more information :
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
Hope this will be helpful.
Regards
Suraj -
Help needed in XSLT MAPPING with RFC function module
null
Edited by: Ram Kishore on Sep 25, 2009 1:09 PM
Edited by: Ram Kishore on Sep 25, 2009 1:10 PMHi Arunava,
If you dont have any key field in ItemData1 and ItemData2 in the incoming flat file, then you have to insert a keyfield in both the ItemData1 ,ItemData2 .
For this ,you need to use ItemData1.keyFieldValue and ItemData2.keyFieldValue in your FCC parameters.
Also, need to mention the keyFieldName in both ItemData1 ,ItemData2.(ex:ItemData1.fieldNames).
Hope the below blog would help you.
/people/sukumar.natarajan/blog/2007/06/12/content-conversion-in-sender-file-adapter--2-new-useful-parameters
Regards,
Swetha. -
Proxy to SOAP Scenario, payload with the SOAP envelops
Hi ,
We have Scenario like Proxy to SOAP,As per Business requirement they are asking payload with ENVELOP . Like below message
================================================================
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
<SOAP-ENV:Header>
<nseps:endpoints xmlns:nseps="urn:schemas-IBX:/docs/endpoint.nsendpoint" SOAP-ENV:mustUnderstand="true">
<nseps:to>
<nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
</nseps:to>
<nseps:from>
<nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
</nseps:from>
</nseps:endpoints>
<nsprop:properties xmlns:nsprop="urn:schemas-IBX:/docs/property.nsproperty" SOAP-ENV:mustUnderstand="true">
<nsprop:identity>3198841w-fa4d-dafa-2797-89029c15255b</nsprop:identity>
<nsprop:sentAt>2010-01-18T02:42:08Z</nsprop:sentAt>
<nsprop:topic>CostObjectInformation</nsprop:topic>
</nsprop:properties>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
//Payload of the message to be added here.
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I am trying out this in XSLT, but I am not sure how to add the SOAP Envelops and these Envelops are Static.
Can someone help me out in this.
JoeBut if you look at the SOAP Envelop Structure below it is not XI generated SOAP Envelop. IBX (3rd party) has its own standards, so XI has to Produce the SOAP Envelop according to their standards.
I have created the XSD with SOAP Envelop stucture with what ever structure 3rd party wants, but the problem is when Creating the SOPA Envelp tag, where it has a ":" where its not allowing me to create the valid XSD. And at the same time 3rd party is not in position to give us even WSDL file and we are not using Webservice call and they are not able to provide the XSD with SOAP envelop structure.
I thought of going for XSLT and started doing as well with what ever XSD 3rd party has provided, which does not have the SOAP Envelop structure and has only payload XSD structure.
80% of the SOAP Envelop structure is Static, it does not change. Only 2 fields keeps changing. IS there any solution that we can create XSD with the SOAP structure with Special Character ": "or is there any way in doing in XSLT.
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
<SOAP-ENV:Header>
<nseps:endpoints xmlns:nseps="urn:schemas-IBX:/docs/endpoint.nsendpoint" SOAP-ENV:mustUnderstand="true">
<nseps:to>
<nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
</nseps:to>
<nseps:from>
<nseps:address>b2b2ce96-7a92-1000-910f-c0a8b4340001</nseps:address>
</nseps:from>
</nseps:endpoints>
<nsprop:properties xmlns:nsprop="urn:schemas-IBX:/docs/property.nsproperty" SOAP-ENV:mustUnderstand="true">
<nsprop:identity>3198841w-fa4d-dafa-2797-89029c15255b</nsprop:identity>
<nsprop:sentAt>2010-01-18T02:42:08Z</nsprop:sentAt>
<nsprop:topic>CostObjectInformation</nsprop:topic>
</nsprop:properties>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
its a high priority issue.
Thanks in Advance.
Joe.
Maybe you are looking for
-
I restored my Ipod to factory settings but and am getting error when I sync
I have a U2 Ipod that I'm using with Windows. I rstored it to factory settings using iTunes. When it starts to sync my library after awhile it stops and I get this error message. "Attempting to copy the disk "Josh's Ipod" failed. The disk could not b
-
How do I make Mail stop keeping all my old emails?
I have just done a scan of my MacBook using Disk Inventory X to try and work out what is taking up so much space on my hard drive. Turns out I have 94GB of mail. I am wondering if anyone can tell me how to get Mail to stop keeping all my old emails?
-
Wrong name displayed in Shared Photo Stream on iPhone/iOS 6
I invited my wife to a shared photostream and MY name shows up when she comments on a photo. It might be that she's using what used to be MY phone. Here's what we did in our upgrade to iOS 6 and the iPhone 5. I got the new iPhone 5 and passed the o
-
QT Player on Vista gives error # -2048
Hi everyone, I keep getting the above error while opening some of the QT movies I have on my PC. Sometimes Windows even crashes. The only thing I can read from that is a hexadecimal code 0x00000602. Does the error number or the hex number mean anythi
-
I updated today to v. 18, and while my menus do pull down (for both the firefox one of the left and the bookmark one on the right) and the links work, the... image file, I guess, is very glitchy. I only know what I'm clicking on because I know vaguel