oms_error Message:[oms] empty or null xml map request string.
I'm using mapviewer. I create a stored procedure in oracle that uses the utl_http package to make the map request. The omserver response with an error but when i make a map request via internet explorer the server response its ok and show me the correspondent map. This is my pl/sql code it fails in this line:
UTL_HTTP.SET_HEADER(l_http_req, 'Content-Type', 'application/x-www-form-urlencoded');
UTL_HTTP.SET_HEADER(l_http_req, 'Content-Lenght', LENGTH(map_request));
UTL_HTTP.SET_HEADER(l_http_req, 'Host', 'cobogis09');
UTL_HTTP.SET_HEADER(l_http_req, 'Port', '8888');
As you can see it tells to me that the map request string is empty but im sending the map request in the next way:
UTL_HTTP.WRITE_TEXT(l_http_req, '<?xml version="1.0" encoding="UTF-8"?><map_request datasource="stream" srid="8307" basemap="" width="960" height="768" antialiasing="false" format="GIF_URL" title="Demonstration"></map_request>');
l_http_resp := utl_http.get_response(l_http_req);
utl_http.read_text(l_http_resp, l_value);
response := sys.XMLTYPE.createxml(l_value);
utl_http.end_response(l_http_resp);
img_url := response.EXTRACT('/map_response/map_image/map_content/@url').getstringval();
img_url := response.EXTRACT('/map_response/map_image/map_content/@url').getstringval();
obviously because the server response its not ok
the server response is (i get this message in my l_value variable):
<?xml version="1.0" encoding="UTF-8"?><oms_error>Message:[oms] empty or null xml map request string.
Tue Jul 25 10:37:43 GMT-05:00 2006
Severity: 0
Description:
at oracle.lbs.mapserver.oms.getXMLDocument(oms.java:860)
at oracle.lbs.mapserver.oms.doPost(oms.java:303)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:595)
</oms_error>
What i want to know its why the server says that the map request string is empty. As you can see the map request is not empty, but when i send to the server something happens that sends this map request string empty to the server.
The next is the console of the omserver:
C:\oc4j_extended>cd\
C:\>cd C:\oc4j_extended\j2ee\home
C:\oc4j_extended\j2ee\home>java -hotspot -Xmx512M -jar oc4j.jar
06/07/25 11:00:49 INFO [oracle.lbs.mapserver.oms] oms root path: C:\oc4j_extended\j2ee\home\lbs\mapviewer\web\
06/07/25 11:00:49 Oracle Application Server Containers for J2EE 10g (10.1.2.0.2) initialized
06/07/25 11:00:49 INFO [oracle.lbs.mapserver.core.MapperConfig] using default config file: C:\oc4j_extended\j2ee\home\lbs\mapviewer\web\WEB-INF\conf\mapViewerConfig.xml
06/07/25 11:00:49 WARN [oracle.lbs.mapserver.core.MapperPool] destroying ALL mapmaker instances.
06/07/25 11:00:50 INFO [oracle.lbs.mapserver.core.MapperConfig] setting logging level to finest
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 INFO [oracle.sdovis.CacheMgr2] In memory cache limit set to: 512MB
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperConfig] Disk-based cache is no longer supported.
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperConfig] setting proxy to: coboisa01.ag.ad.local:8080
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.core.MapperConfig]
Allowed IPs:
Excluded IPs:
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 ERROR [oracle.lbs.mapserver.core.MapperConfig] ###### [MapperConfig] clear-text passwords in the mapViewrConfig.xml file must be prefixed with a '!' (exclamation mark).
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperConfig] Map Recycling thread started.
06/07/25 11:00:50 Tue Jul 25 11:00:50 GMT-05:00 2006 INFO [oracle.lbs.mapserver.oms] *** Oracle MapViewer started. ***
06/07/25 11:01:03 Tue Jul 25 11:01:03 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.oms] request.getRemoteUser = jazn.com/admin
06/07/25 11:01:03 Tue Jul 25 11:01:03 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.oms] request= <?xml version="1.0" standalone="yes"?>
<non_map_request>
<add_data_source name="stream"
jdbc_host="cobodata01"
jdbc_sid="stream"
jdbc_port="1521"
jdbc_user="***"
jdbc_password="***"
jdbc_mode="thin"
number_of_mappers="3"/>
</non_map_request>
06/07/25 11:01:03 Tue Jul 25 11:01:03 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.oms] getRequestType: nodeName=add_data_source
06/07/25 11:01:03 Tue Jul 25 11:01:03 GMT-05:00 2006 INFO [oracle.lbs.mapserver.MapServerImpl] adding a map data src [name=stream]
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 FINEST [oracle.sdovis.SRS] loaded 748 geodetic srids.
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 INFO [oracle.sdovis.CacheMgr2] Spatial Data Cache opened. Region=SDOVIS_DATA.
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 INFO [oracle.sdovis.CacheMgr2] max_cache_size=512 MB.
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 INFO [oracle.sdovis.CacheMgr2] sub region sdovis_subreg_gis_jdbc:oracle:thin:@cobodata01:1521:stream created in cache.
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperPool] added a mapper instance to the pool [data src=stream]
06/07/25 11:01:05 Tue Jul 25 11:01:05 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperPool] added a mapper instance to the pool [data src=stream]
06/07/25 11:01:06 Tue Jul 25 11:01:06 GMT-05:00 2006 INFO [oracle.lbs.mapserver.core.MapperPool] added a mapper instance to the pool [data src=stream]
06/07/25 11:01:36 Tue Jul 25 11:01:36 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.oms] request.getRemoteUser = null
06/07/25 11:01:36 Tue Jul 25 11:01:36 GMT-05:00 2006 FINEST [oracle.lbs.mapserver.oms] request= null
As you can see the arrive empty to the server, what can be wrong
Hi,
in this map request, it looks that the basemap string is empty.
UTL_HTTP.WRITE_TEXT(l_http_req, '<?xml version="1.0" encoding="UTF-8"?><map_request datasource="stream" srid="8307" basemap="" width="960" height="768" antialiasing="false" format="GIF_URL" title="Demonstration"></map_request>');
Similar Messages
-
hi, I'm using map request on mapviewer this is my XML:
<map_request
title="CALI"
basemap="BASE_CALI"
datasource = "GEODBSID"
width="640"
height="480"
bgcolor="#a6cae0"
antialiase="true"
format="PNG_STREAM">
<center size="0.15">
<geoFeature render_style="THEME_DEMO_STATES_LINE"
radius="1600,4800"
label="CENTRO"
text_style="THEME_PRUEBA" >
<geometricProperty typeName="center">
<Point>
<coordinates>-115.156486623806, 41.0518463048808</coordinates>
</Point>
</geometricProperty>
</geoFeature>
</center>
When i do click on submit I can see the center point, background (blue) and the tittle but no more, I want to know if I show with a simple XML one table anybody help me ?
Message was edited by:
karoHi, its works whit this code
<?xml version="1.0" standalone="yes"?>
<map_request
title="MAPA CALI"
datasource = "GEODBSID"
width="504"
height="594"
bgcolor="#a6cae0"
antialiase="false"
format="PNG_STREAM">
<themes>
<theme name="TEMA_VIAL_CALI">
<jdbc_query
datasource="GEODBSID"
jdbc_srid="8307"
spatial_column="geom"
render_style="MDSYS:C.RED"
SELECT geom, CALI_ID from CALI</jdbc_query></theme>
</themes>
</map_request>
be careful whit jdbc_srid, width and height
Message was edited by:
karo -
Hi Experts,
Could you please tell me, how to pass XML document as a request string to the webservice scenario. Inside the service, I have to do the schema validation for the request . Please guide me, how to proceed further?
Regards
SaraHi SARA,
use following Code written in SAX parsing .this will fulfil your requirment.This handle Special character also.
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import com.sap.aii.mapping.api.StreamTransformation;
import com.sap.aii.mapping.api.StreamTransformationException;
public class SimpleForwardMappingString extends DefaultHandler implements StreamTransformation
private List m_arlCurrent = new ArrayList();
private List m_arlBOList = new ArrayList();
private List m_arlObjectList = new ArrayList();
public static int counter = 0;
String listName = "newList";
public StringBuffer m_totalElementsBuffer = new StringBuffer();
String startData = "<inCanonStream>";
String endData = "</inCanonStream>";
private Map param = null;
/** Constant Strings used in Forward Mapping */
public static void main(String args[])
try {
InputStream in = new FileInputStream(new File("C:
Documents and Settings
281152
Desktop
Cannonical12321.xml"));
OutputStream out = new FileOutputStream(new File("C:
Documents and Settings
281152
Desktop
Cannonical21.xmlOut.xml"));
SimpleForwardMappingString myMapping = new SimpleForwardMappingString();
catch (Exception e)
e.printStackTrace();
public void execute(InputStream arg0, OutputStream arg1)
throws StreamTransformationException
Writer out;
try
out = new OutputStreamWriter(arg1, "UTF16");
/** Building the SAX parser */
getXMLDoc(arg0, arg1);
arg1.write(m_totalElementsBuffer.toString().getBytes("UTF16"));
catch (IOException e)
System.out.println("Error : io" + e.getMessage());
catch (Exception e)
System.out.println("Error :" + e.getMessage());
/* (non-Javadoc)
@see com.sap.aii.mapping.api.StreamTransformation#setParameter(java.util.Map)
public void setParameter(Map arg0)
public void getXMLDoc(InputStream inputStream, OutputStream outputStream)
Defines a factory API that enables applications to configure and
obtain a SAX based parser to parse XML documents. Once an application
has obtained a reference to a SAXParserFactory it can use the
factory to configure and obtain parser instances.
SAXParserFactory factory = SAXParserFactory.newInstance();
try
factory.setNamespaceAware(true);
factory.setValidating(true);
SAXParser saxParser = factory.newSAXParser();
Parse the content of the given {@link java.io.InputStream}
instance as XML using the specified
{@link org.xml.sax.helpers.DefaultHandler}.
@param inputstream InputStream containing the content to be parsed.
@param cobject The SAX DefaultHandler to use.
@exception IOException If any IO errors occur.
@exception IllegalArgumentException If the given InputStream is null.
@exception SAXException If the underlying parser throws a
SAXException while parsing.
saxParser.parse(inputStream, this);
catch (FactoryConfigurationError e)
System.out.println("Error");
catch (ParserConfigurationException e)
e.printStackTrace();
catch (SAXException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
/** ===========================================================
Methods Overriding in SAX Default Handler
===========================================================
Receive notification of the beginning of the document.
By overriding this method in a subclass to take specific actions
at the beginning of a document (such as allocating the root node
of a tree or creating an output file)
public void startDocument()throws SAXException
if(m_totalElementsBuffer.length()>0)
m_totalElementsBuffer = new StringBuffer();
counter = 0;
m_totalElementsBuffer.append(m_prologue);
m_totalElementsBuffer.append(m_nameSpace);
m_totalElementsBuffer.append(startData); }
Receive notification of the end of the document.
By overriding this method in a subclass to take specific
actions at the end of a document (such as finalising a tree
or closing an output file)
public void endDocument()throws SAXException
m_totalElementsBuffer.append(endData);
m_totalElementsBuffer.append(m_rootElementEnd);
Receive notification of the start of an element.
By overriding this method in a subclass to take specific
actions at the start of each element (such as allocating
a new tree node or writing output to a file)
public void startElement(String namespaceURI, String name, String qName, Attributes attrs)
throws SAXException
/** If current List is not empty then append node to StringBuffer */
m_totalElementsBuffer.append("<" + name + ">");
Receive notification of the end of an element.
By overriding this method in a subclass to take specific
actions at the end of each element (such as finalising
a tree node or writing output to a file)
public void endElement(String uri, String name, String qName) throws SAXException
m_totalElementsBuffer.append("</" + name + ">");
Receive notification of character data inside an element.
By overriding this method to take specific actions for each
chunk of character data (such as adding the data to a node
or buffer, or printing it to a file)
public void characters(char buf[], int offset, int len)
throws SAXException
String s = new String(buf, offset, len);
if (null != s && s.length() >0)
if(s.equalsIgnoreCase("&"))
//System.out.println("FOUND AND SYMBOL");
String s1 = s.replaceAll("&","_-#_");
//System.out.println("s= " +s1);
s = s1;
if(s.equalsIgnoreCase("<"))
//System.out.println("FOUND AND SYMBOL");
String s1 = s.replaceAll("<","_#-_");
//System.out.println("s= " +s1);
s = s1;
m_totalElementsBuffer.append(s);
Thanks
Sunil Singh -
Display Error message in Empty grid
Hi All,
A query again !!!
I have an AdvancedDataGrid , in which I want to show an error msg , No Records found , if my dataprovider is null.
I dont want to show an alert.
Want to display a message in empty grid.
How can I do that,if someone can help?
Thanks in Advance
AshudeepIt depends on why the dataProvider is null.
If your remote object has not returned data, you can detect that in its result handler, and then manually construct a data item that has a message in one of the fields, but null in the rest.
If this post answers your question or helps, please mark it as such. -
Question about XML mapping to ABAP internal table
Hi experts.
I'm trying to XML mapping. But it doesn't work well. Assume there are XML file as below.
<HEADER>
<ITEM>
<FOO>123</FOO>
<BAR>ABC</BAR>
</ITEM>
<ITEM>
<FOO>456</FOO>
<BAR>DEF</BAR>
</ITEM>
<HEADER>
and I want to trasformation it as below.
ITAB
FOO | BAR
123 | ABC
456 | DEF
How could I trasformation using "call transformation"?
Regards.Hi,
REPORT zind_xml_to_sap NO STANDARD PAGE HEADING.
Data Declaration *
DATA: client TYPE REF TO if_http_client, "Interface
host TYPE string,
port TYPE string,
proxy_host TYPE string,
proxy_port TYPE string,
path TYPE string,
scheme TYPE i,
xml TYPE xstring,
response TYPE string.
DATA: t_xml TYPE smum_xmltb OCCURS 0 WITH HEADER LINE. "XML Table structure used
"for retreive and output XML doc
DATA: g_stream_factory TYPE REF TO if_ixml_stream_factory. "Interface
DATA : return LIKE bapiret2 OCCURS 0 WITH HEADER LINE. "XML Table structure used for retreive
"and output XML doc
Parameters *
PARAMETER : p_add TYPE string LOWER CASE ,
p_dfile LIKE rlgrap-filename.
AT Selection-Screen on value-request for file *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dfile.
Get file
PERFORM 100_get_file.
Start-of-Selection *
START-OF-SELECTION.
Perform to upload xml data from URL to SAP internal table
PERFORM 200_xml_upload.
IF t_xml[] IS NOT INITIAL.
Perform to Download data from Internal Table to a text file in local drive
PERFORM 300_download.
write : / 'Data Uploaded to Internal Table Successfully'.
write : / 'XML Data Downloaded to Local path', p_dfile.
else.
write : / 'No Data for upload'.
ENDIF.
*if t_xml[] is INITIAL.
WRITE : address, 'Given URl cannot be Converted' .
else.
LOOP AT t_xml .
WRITE: t_xml-cname, t_xml-cvalue.
ENDLOOP.
endif.
*& Form get_file
Get File
FORM 100_get_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
IMPORTING
file_name = p_dfile
ENDFORM. " 100_get_file
*& Form 200_xml_upload
form to upload xml data from URL to SAP internal table
FORM 200_xml_upload .
*Check HTTP:// and concatenate
IF p_add NS 'http://' OR p_add NS 'HTTP://'.
CONCATENATE 'http://' p_add
INTO p_add.
ENDIF.
Fetching the address of the URL
CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = p_add
IMPORTING
client = client.
*Structure of HTTP Connection and Dispatch of Data
client->send( ).
*Receipt of HTTP Response
CALL METHOD client->receive
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
OTHERS = 4.
IF sy-subrc <> 0.
IF sy-subrc = 1.
MESSAGE 'HTTP COMMUNICATION FAILURE' TYPE 'I' DISPLAY LIKE 'E'.
EXIT.
ELSEIF sy-subrc = 2.
MESSAGE 'HTTP INVALID STATE' TYPE 'I' DISPLAY LIKE 'E'.
EXIT.
ELSEIF sy-subrc = 3.
MESSAGE 'HTTP PROCESSING FAILED' TYPE 'I' DISPLAY LIKE 'E'.
EXIT.
ELSE.
MESSAGE 'Problem in HTTP Request' TYPE 'I' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
ENDIF.
Get data of the xml to Response
response = client->response->get_cdata( ).
*FM converting the XML format to abap
CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
EXPORTING
text = response
IMPORTING
buffer = xml.
*FM converting XMl to readable format to a internal table.
CALL FUNCTION 'SMUM_XML_PARSE'
EXPORTING
xml_input = xml
TABLES
xml_table = t_xml
return = return.
ENDFORM. " 200_xml_upload
*& Form 300_download
*form to Download data from Internal Table to a text file in local drive
FORM 300_download .
DATA filename TYPE string.
filename = p_dfile.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = filename
WRITE_FIELD_SEPARATOR = 'X'
TABLES
data_tab = t_xml
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. -
ExcelXML mapping---problem with XML maps in Excel sheet
Hi Friends,
I have one issue with ExcelXML mapping in Xcelsius.
The problem is I have designed one dashboard using ExcelXML mapping and everything is working fine but I was afraid that I could not able to find the mappings which were embedded in Excel.It happened many times.What I was doing is everytime Im re-mapping.I could be a big problem for me to do this procedire for everytime.How to recover my XML maps into excel sheet.Can anyone please provide the solution to achieve this.Shouldnt it be equivalent ? I mean, as far as I know the ns0: shouldnt be a problem
when you have a namespace in the message then you need to associate it with some prefix....since ns0 (or any other prefix) is not present you are getting the error....having the namespace but not ns0 is the problem.
XMLAnonymizer bean may help you to add the namespace prefix... -
InterConnect - FTP adapter:Message queue empty
Hi,
I have installed oracle InterConnect 9.0.4.
The send point and receive end point are configured as separate folders
ota.send.endpoint=ftp://hcsdlx01/interexample/sender/
ota.receive.endpoint=ftp://hcsdlx01/interexample/receiver
We have placed an xml file at the sender location.
And trying to retrieve at reciever end point
But we are getting a message saying message queue empty in the oailog.txt
can anyone shed the possible sources of error.
Regards
VenkatFinally succeeded in spotting error.
The FTP adapter.ini file was not configured properly
The point is that The send point and receive points should be as per the file system.
In our case the endpoint as we see in browser say:
ftp://example/endpoint
but in the file in Unix server was
<dir1>/<dir2>/endpoint
In the adapter.ini we changed to endpoint = <dir1>/<dir2>/endpoint.
It started working properly,
Thank u marcus -
How to check if message is empty in Integration Process
Hi!
I have Integration Process with container object OUT_CR This type of message I get from another message using xsl-mapping. The point is that result message can be empty (only message header - "<MT_1C_BXY_CR/>").
In Integration Process I place the step Switch where I use condition to determine if my message is empty and if it's not - to send it to receiver system.
I'm beginner in PI and it's the first time I try to use Condition Editor. I tried to put condition like "EX OUT_CR./p1:MT_1C_BXY_CR/ONE" but it doesn't work.
Could you advise me how can I check If the message is empty using Condition Editor in IP? Or may be any tutorial on working with Condition Editor in PI?you might have to try the XSL function exists - http://www.w3schools.com/xpath/xpath_functions.asp
Try the EX operator as shown in this blog Customise your 'XPATH' Expressions in Receiver Determination -
XML MAPPING - swf not updating
When I make a change to the xml file it is not picking up the change in my published swf file. When I open the project in CX and refresh the mapping updates.
So it is connected but when I click on "refresh" on the sxf it is not updating.
I have xml maps, added in the data connection manager, with a refresh button tied to the xml connection. I also have the refresh on load checked in the connection manager.
Need help.
Thanks
MarkShamim my scenario was that I wanted the SWF on a network so that a call center employee could access the file from a mapped drive, open the file direct on her/his client machine. My problem was that I developed the file on the server machine and mapped the data connection path to the XML initially from the server, not the scenario of a client machine's path looking for the file. (not sure if cache is the right term)
Initial Path from server development.. D:\Datafiles\data.xml
The client machine(s) network path, mapped drive was Z: for example. In the excelsius model you need to bind the data path to the excel model and hardcode the Path that the client machines will go thru to access the data. This solved my issue perfectly. Z or name of the mapped drive mapped to the server.
Z:\Datafiles\data.xml
So now if your on the server machine and try to open the file from the swf you will incur the error message that correlates to the swf not being able to find the data. From the clients works fine but not from the server machine as the path has to be exact for the swf to find the data file.
Hope this helps.
I have a question for trying to deploy this same example on th server embedded into a swf movie player to the web. Might have been my path issue, cross domain policy file... But I could not get it to be deployed in a website, live. If you are familiar with this please explain to me.
Regards,
Mark -
Hi ,
Facing strange issue in Xpath debatching in Orchestration.
Getting following error in construct shape:
The part 'part' of message 'Message_In_Copy' contained a null value at the end of the construct block
Code inside the construct block:
sXpath = System.String.Format("/*[local-name()='Customers' and namespace-uri()='http://Debatch.Customer']/*[local-name()='Customer' and namespace-uri()='http://Debatch.Customer' and position()={0}]", nLoopCount);
System.Diagnostics.Debug.WriteLine(sXpath);
Message_In_Copy= xpath(Message_In, sXpath);
Schema used:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://Debatch.Customer" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Debatch.Customer" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Customers">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="Customer">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="id" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Can anyone help me out ? to identify the root cause for above issue.
Thanks,
Kind Regards,
girsh
girishkumar.aI agree with Shankycheil here, querying XPath will return XMLNode and thus can't be assigned to XMLNode.
But for debatching in Orchestration using Xpath is not a very good idea.
Because using XPATH loads the complete message in memory(XML Structure) and then performs processing.
This approach is always prone to throwing Out of Memory exception and low in performance also.
Therefore I would suggest you to perform debatching by calling XML Disassembler(XMLReceive) pipeline.
As pipeline works with Stream it will have better performance and you will also get complete control over the messages.
Refer the below samples for debatching using XML Receive pipeline within Orchestration.
Comparrison between XPATH and ReceivePipeline for Debatching:-
De-batching within an orchestration using XPath or calling a pipeline
Debatching within Orchestration using Pipeline-
http://tech-findings.blogspot.in/2013/07/debatchingsplitting-xml-message-in.html
https://jeremyronk.wordpress.com/2011/10/03/how-to-debatch-into-an-orchestration-with-a-pipeline/
Thanks,
Prashant
Please mark this post accordingly if it answers your query or is helpful. -
How to handle source empty field in FDM maps
Dear all,
In our projects, data was extracted from EBS with ERPi adapters to HFM through FDM. In this case, some source fields are empty after the data extraction from EBS. The problem is, how can I deal with the empty field in the maps. For now, the workaround is using wildcard (like *->[None]), sth like that. But there is a risk in it, it may happen to ignore some records with error. Do your guys know any special characters stand for the Null in the mapping?
Thanks!We have had a workaround solution since moving to V11. This was not a problem in System 9.
The issue with blanks not defaulting to [None] is that some values escape the test. Such as forcing default values using "Like (* = [None])". If a new code is in your data that is not in your map, the Validation process foiled since [None] is valid and all blanks are now [None]. Only then do you either have an intersection violation that shows up during Export or you get bad data in HFM.
I don't like this new "feature" in S11 FDM. We will be submitting a request to have the default functionality added back. Perhaps as an option?
Mike -
XML mapped directly into dbtable
Hi guys,
I've one doubt related to xml mapping. I've searched and read lots of posts on the forum about XML, but the doubt is still remaining...
Imagine I have a XML response to an webservice and I'd like to pass it to an dbtable.
I know I can use DOM to parse the xml, and I've even seen I can build a table based on hierarchies nodes, but what I'd like to know is if it's possible to pass all the content from the XML directly to my dbtable.
Why do I want to do this? Because the xml which is sent is really huge, and if I'd have to parse it, there would be tons of abap code.... So, I'd like to pass it directly to my table...
I could validate the xml with a DTD and then if there were no errors, I would pass it directly to the dbtable...
Is there any way of doing it?
I'm really thankful for your answers....Hi,
If you are looking at passing the whole XML response into a field in the target, this would be simple.
Convert the InputStream ( In Java Mapping) into a string and pass it to the String.
You can use this code to convert InputStream to string,
In this code, <b>in</b> is the inputstream to the execute() of java mapping,
BufferedReader inp = new BufferedReader(new InputStreamReader(in));
StringBuffer buffer = new StringBuffer();
String line="";
while ((line = inp.readLine()) != null) {
buffer.append(line);
String source=buffer.toString();
is this what you are looning at?
Regards,
Bhavesh -
Copy of source message to an element with graphical mapping
Hi all,
Is there a way to copy the complete source message of a mapping to an element of the destination message (with CDATA) with the graphical mapping (or UDF, but I want to avoid XSL) ?
For example, from this message:
<source>
<element>test</element>
<element2>test2</element2>
</source>
I expect the following result:
<dest>
<data><![CDATA[<source><element>test</element><element2>test2</element2></source>]]>
</data>
</dest>
Thanks for your help.
GregHi,
Use this Simple Concept
XML node into a string with graphical mapping
/people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping
Regards
Seshagiri -
Source selection is empty due to inverse mapping
Hi Experts,
When execute data collection task, one of Cons unit got the below error.
"Source selection is empty due to inverse mapping" Message no. UCT8250.
I checked BI mapping rules and also compare mapping rules in LDS with other cons unit. There is no change in mapping rules in LDS and nothing had changed in BI mapping rules.
This is error is shown for one cons unit only, for all remaining task run successfully. Please explain me how to overcome from this.
NB: Data collection method was Load from data streams.Hi Madhu,
Please could you elaborate on the master data field in BI (RSA1) as I could see SAP note 751686 to bypass the error message, as the error could be due to incomplete data for the respective company.
Awaiting your early response
Regards, -
Hi,
Could somebody help me to create an xml-map for this
Input Soap Message:
<ns1:processPaymentRequestElement xmlns:ns1="http://globalops.hp.com/card">
<ns1:CardHolderName></ns1:CardHolderName>
<ns1:CreditCardNumber></ns1:CreditCardNumber>
<ns1:ExpirationMonth></ns1:ExpirationMonth>
<ns1:ExpirationYear></ns1:ExpirationYear>
<ns1:ProcessAmount></ns1:ProcessAmount>
</ns1:processPaymentRequestElement>
Method Signature:
public Document processRequest(Document dom)
Any help will be deeply appreciated..
Thanks,
Ranjith PillaiHi, its works whit this code
<?xml version="1.0" standalone="yes"?>
<map_request
title="MAPA CALI"
datasource = "GEODBSID"
width="504"
height="594"
bgcolor="#a6cae0"
antialiase="false"
format="PNG_STREAM">
<themes>
<theme name="TEMA_VIAL_CALI">
<jdbc_query
datasource="GEODBSID"
jdbc_srid="8307"
spatial_column="geom"
render_style="MDSYS:C.RED"
SELECT geom, CALI_ID from CALI</jdbc_query></theme>
</themes>
</map_request>
be careful whit jdbc_srid, width and height
Message was edited by:
karo
Maybe you are looking for
-
WebLogic 10.3.0.0 vs 10.3.1.0 (11gR1)
Hi, I've now seen 10.3.1.0 (11gR1) is out and downloadable. Can anyone directed me to the page which mentions the fixes/improvements between 10.3 and 10.3.1? (Is there any?) Regards, Alistair.
-
My camera has disapeared and I do not know how to reinstall it
pls help me my camera icon has disapeared, so what to do to get the camera back and working???
-
Transfer posting of split valuated materials
Hi guys, During transfer posting (mvt type 311,313 and 315 )of split valuated materials valuvation type should not be changed by user , please suggest how to do this? thanks and regards Thamizhchelvan G
-
Problem connecting a webservice to a mysql database
Hi, I am trying to connect a webservice to a mysql database. I am using sun application server 8.1 and Mysql 4.1. I have been using the application servers examples to achieve my goals thus far. I have made the following progress. - I have got a simp
-
Custom fields on SAP standard screen - how to make them mandatory
Hi, I have added 2 new custom fields [say zz1 and zz2] in the SAP Document Management System whilst creating documents in program SAPLCV110. I want to have these fields set to mandatory only when the document type is say ZZZ. Can you please let me kn