Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Prefix not mapped

Hi!

I'm having trouble with namespaces and this is not the first time.

I'm developing a scenario step that has inbound BusinessPartner event and void output. The BP information is sent to a salesforce webservice in 5 http call atoms inside the step.

Last week this worked very well.

But now, after adding more atoms and logic, I get the exception "Prefix not mapped: soapenv".

  1. I have now put the namespace definition xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" in every possible places in all xsl-files and in the bdf-file. But this doesn't help.

  2. I found Bastians recommendation Prefix is not mapped to a namespace and added all namespaces in the Inbound Channel Identification Namespace list:
    xmlns:b1e="urn:com.sap.b1i.sim:b1event"

xmlns:b1ie="urn:com.sap.b1i.sim:b1ievent"

xmlns:b1im="urn:com.sap.b1i.sim:b1imessage"

xmlns:bfa="urn:com.sap.b1i.bizprocessor:bizatoms"

xmlns:jdbc="urn:com.sap.b1i.adapter:jdbcadapter"

xmlns:rfc="urn:sap-com:document:sap:rfc:functions"

xmlns:sim="urn:com.sap.b1i.sim:entity"

xmlns:utils2="com.sap.b1i.bpc_tools.Utilities"

xmlns:vpf="urn:com.sap.b1i.vplatform:entity"

xmlns:xci="urn:com.sap.b1i.xcellerator:intdoc"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xup="urn:com.sap.b1i.xcellerator:upltdoc"

xmlns:urn="urn:enterprise.soap.sforce.com"

xmlns:urn1="urn:sobject.enterprise.soap.sforce.com"

But this results in an exception in an atom that uses the document function: "Exception while sending warning. in 'document' - function"

The code for the document is:

<xsl:variable name="vpSF_SYSTEM" select="/vpf:Msg/vpf:Header/vpf:Properties/vpf:prop[./@id=&apos;SF_SYSTEM&apos;]/@value"></xsl:variable>

<xsl:variable name="sysIdDocPath" select="concat(&apos;/com.sap.b1i.system.sld.directory/SysId.xml/&apos;,$vpSF_SYSTEM,&apos;(Id)&apos;)"/>

<xsl:variable name="sysIdDoc" select="document($sysIdDocPath)"/>

<xsl:variable name="sysIdHTTA" select="$sysIdDoc/sim:SysId/sim:ConnectivityList/sim:Connectivity[./@ConnectivityTypeId=&apos;HTTA&apos;]"/>

Both sim and vpf is in the namespace list. Why is this happening?

This code works if I don't add the namespaces in the Inbound channel.

Any help appreciated!

Regards

Lars

Tags:
Former Member

Helpful Answer

by
Not what you were looking for? View more on this topic or Ask a question