Binary content in XML document
Hi all,
I'm currently facing a problem regarding XML and binary content. What I need to do is basically send an XML-RPC message to invoke a method that has a parameter which accepts a file. I'm not sure how to include binary content in an XML document. Other than that, does anybody know if I can use some sort of common multipart request class to accept the XML-RPC calls from the client? In the end I should have a servlet that takes care of transferring the request (XML-RPC with file) to the apropriate service and construct and send a response...
How does the aproach of establishing a momentary peer-to-peer connection for a file transfer compare with HTTP uploads? Does it work just about the same way?
Basically, this means I would need to build a client program that first opens a server socket for the actual file transfer, then sends a message to the application server that it wishes to upload a file and then accepts a connection from that application server to transmit the file...
Sure. ;-) However, if you're asking where you might find such an animal then I can't help you...
Apparently I don't need such a class anyway, if I use common XML-RPC messages and transfer binary content in another way... ;)
Similar Messages
-
Cannot view the content of XML document.
Hi experts,
i have saved edit form (SAP Demo News) in document folder (KM Content > document). To view the content, I click the XML document then the content is display as design in ShowForm.
My problem is i save the edit form (SAP Demo News) in my own folder (KM Content > MyFolder), then when I click the XML document the content is NOT display as design in ShowForm. But its display as XML coding.
How to make the content of XML document NOT view as XML coding?
Thanks and regards
faezaHi faeza ,
by default XML Forms can only be used in the repositories documents and userhome.
If you want to use XML-Forms in your own repository like "MyFolder" than the behaviour is like you have described.
So you have to adjust the KM settings for using XML-Forms as well in the repository "MyFolder".
Goto
System Administration ->
System Configuration ->
Knowledge Management ->
Content Management ->
Configuration
-> Content Management
-> Repository Filters
-> XML Forms Repository Filter
Choose the XML Forms Repository Filter entry "xmlforms_filter" and choose Edit.
Add as "Repositories:" your repository "MyFolder".
Save it and restart the whole portal.
Best regards
Frank -
Hi,
I have some tables and I store binary data in varchar2 column. I want to create xml document from one of the table using xsql. What will happen to binary data? Can xml document takes care of binary data? I will appreciate, if I get the answer/solution for this.
Thanks
Prasanta DeHi,
I have some tables and I store binary data in varchar2 column. I want to create xml document from one of the table using xsql. What will happen to binary data? Can xml document takes care of binary data? I will appreciate, if I get the answer/solution for this.
Thanks
Prasanta De -
Writing contents of XML-documents with SAX
I have the following problem: I use the SAX-API for parsing an XML- document and to write the contents of several tags into field variables.
For that, I use the method 'characters(char cbuf[], int start, int len' and read the interesting string part
'new String(cbuf,start,len) where cbuf is the character buffer, start the offset in the file and len the length of the string within the tag.
I registered the following problem if I load my application from a jar-file (with a 13kb long xml-file):
The offset runs till 8192 bytes and then resets to 1 and runs up again. If it reaches the offset 8192 bytes (8Kbyte) within a string as content of a tag, the string is split into two: the first till this offset and the second after it.
I have already tried to solve this problem by setting some features of the SAX-parser but I had no success.
The problem does not occur if I start my application from the Oracle-JDeveloper.
Is there anyone who has an idea? I am glad about any information or hint which might a help for me.
Thank you.From the javadocs for org.xml.sax.ContentHandler.characters(char[] ch,
int start,
int length)
The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity so that the Locator provides useful information.
To get around this.
- Initialize a StringBuffer field in startElement().
characters = new StringBuffer();- Each time characters() is called, append the section of the char[] to the StringBuffer.
characters.append(buf, offset, len);- Work with the entire resulting value in endElement().
-Scott
http://www.swiftradius.com -
How can I convert the binary file content to XML message
Dear friends,
I poll the binary file from a ftp server but the payload only includes the binary content, no XML structure in the payload, I hope to convert the binary content to a element node within the XML structure, how can I do that? via content conversion?
Thanks and regards,
BeanRead the binary file stream using java I/O standard functions and convert the read stream to Base64 format. Now map this content to one of the field in target XML structure.
You need a java mapping for this.
what is your target system?
Thanks,
Gujjeti.
Hi Gujjeti,
Thanks a lot for your kind help, my target system is R/3.
Can I achieve that with a UDF or a simple way?
Regards,
Bean -
How to compare the contents of two XML documents
Hi all,
I was trying to compare the contents of two xml documents, they are both validate for the same XML Schema. i was using the xmlunit to do this. but some how it doesn't work like what i have expected. for example:
1.xml : <test><item>2</item><item>1</item></test>
2.xml: <test><item>3</item><item>2</item><item>1</item></test>
the result from XMLUnit is this two xmls are different, but it compares <item>2</item> with <item>3</item>, which i cannot find out where the real diiffs are.
does anybody know how i can do this correct?
best regards,
tinaI faced a similar problem in one of my projects and hence wrote my own comparator. Most comparators like ExamXML etc show XML as different if the nodes under a parent node occur in different seqeunce or a set of repeated nodes occur in different sequence. The comparator that I wrote gives you the flexibility to configure how to identify a node from a set of repeated nodes and is able to compare them successfully if they occur in any order. You can view the sample output at http://geocities.com/dheerendra_itbhu/TipsFromDheeru.html
and contact me in case you need the source code. -
Hi,
I'm getting the below runtime exception during IDOC- SOAP message mapping in Integration engine.
"Runtime exception occurred during application mapping com/sap/xi/tf/<<<\\Message mapping object name\\>>>; com.sap.aii.utilxi.misc.api.BaseRuntimeException:An invalid XML character (Unicode: 0x1f) was found in the element content of the document"
I have no clue why this exception occurs. Could anyone say the reason of the exception?
Thanks!
Regards,
GopiHi Gopinath
Check this thread
An invalid XML character (Unicode: 0x1d) was found in the element
Kind regards
Javi -
XML document content not replaced
I insert XML documents into iFS using the WebUI via browse. I insert them again after making changes. The new content does not replace the old content. I do not see the new content when viewing the document and search does not find the new content. These documents do not have a type definition and are not parsed. I've tried inserting the new ones after deleting the old ones and I still get the content of the documents that I inserted the first time. Any ideas?
Hi Greg,
Did you remember to check Parse File on Upload?
If yes please forward the XML file and also let me know what version of 9iFS you're using.
Hanne. -
Content of generated XML document to variable - Oracle ...
Hello everybody,
here is sample code which generates XML document:
* This is a sample application program which is built using the
* classes generated by the XML DTD Class Generator. The External DTD
* File "Widl.dtd" or the XML document which "Widl.xml" which is compliant
* to Widl.dtd is used to generate the classes. The application
* SampleMain.java is used to generate the classes which takes the DTD
* or XML document as input parameters to generate classes.
import oracle.xml.classgen.CGNode;
import oracle.xml.classgen.CGDocument;
import oracle.xml.classgen.DTDClassGenerator;
import oracle.xml.classgen.InvalidContentException;
import oracle.xml.parser.v2.DTD;
public class TestWidl
public static void main (String args[])
try
WIDL w1 = new WIDL();
DTD dtd = w1.getDTDNode();
w1.setNAME("WIDL1");
w1.setVERSION(WIDL.VERSION_1_0);
SERVICE s1 = new SERVICE("Service1", "Service_URL");
s1.setINPUT("File");
s1.setOUTPUT("File");
BINDING b1 = new BINDING("Binding1");
b1.setTYPE(BINDING.TYPE_INPUT);
BINDING b2 = new BINDING("Binding2");
b2.setTYPE(BINDING.TYPE_OUTPUT);
VARIABLE v1 = new VARIABLE("Variable1", VARIABLE.NULLOK_FALSE);
v1.setTYPE(VARIABLE.TYPE_STRING);
v1.setUSAGE(VARIABLE.USAGE_INTERNAL);
v1.setVALUE("value");
VARIABLE v2 = new VARIABLE("Variable2", VARIABLE.NULLOK_TRUE);
v2.setTYPE(VARIABLE.TYPE_STRING1);
v2.setUSAGE(VARIABLE.USAGE_HEADER);
VARIABLE v3 = new VARIABLE("Variable3", VARIABLE.NULLOK_FALSE);
v3.setTYPE(VARIABLE.TYPE_STRING2);
v3.setUSAGE(VARIABLE.USAGE_FUNCTION);
v3.setMASK("mask");
CONDITION c1 = new CONDITION("CRef1", "CMatch1");
c1.setSERVICE("Service1");
c1.setTYPE(CONDITION.TYPE_SUCCESS);
CONDITION c2 = new CONDITION("CRef2", "CMatch2");
c2.setTYPE(CONDITION.TYPE_RETRY);
CONDITION c3 = new CONDITION("CRef3", "CMatch3");
c3.setSERVICE("Service3");
c3.setTYPE(CONDITION.TYPE_FAILURE);
REGION r1 = new REGION("Region1", "Start", "End");
b1.addNode(r1);
b1.addNode(v1);
b1.addNode(c1);
b1.addNode(v2);
b2.addNode(c2);
b2.addNode(v3);
w1.addNode(s1);
w1.addNode(b1);
w1.addNode(b2);
w1.validateContent();
w1.print(System.out);
catch (Exception e)
System.out.println(e.toString());
e.printStackTrace();
I see the method w1.print(System.out) which shows content of xml to console. But how can I store xml to some String variable? Thank you in advance.
Jan :)If there is a version of the "print" method that can write to a Writer, then:StringWriter sw = new StringWriter();
w1.print(sw);
String result = sw.toString();But if you can only write to an OutputStream then:ByteArrayOutputStream baos = new ByteArrayOutputStream();
w1.print(baos);
String result = new String(baos.toByteArray(), encoding);where "encoding" is a string containing the name of the encoding used to write the XML. Possibly you can control that via "w1.setENCODING(something)" or some other way. -
UCM-VCR Adapter in WLP error while publishing content-config.xml changes
Hi,
I am getting this error when i publish my changes to server for UCM-VCR Adapter in WLP 10.3.2.
weblogic.application.ModuleException: Error reading descriptor: META-INF/content
-config.xml for app module ucmEAR
at weblogic.application.config.DefaultModule.parseDescriptorBean(Default
Module.java:483)
at weblogic.application.config.DefaultModule.prepare(DefaultModule.java:
282)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(Modu
leListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(Depl
oymentCallbackFlow.java:391)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:83)
Truncated. see log file for complete stacktrace
Caused By: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists:
"com.bea.content.config.RepositoryPropertyBeanImpl@d0b61789(/[UCMRepository]/Rep
ositoryProperties[ContentServerAdminUser])"
at weblogic.descriptor.internal.ReferenceManager.registerBean(ReferenceM
anager.java:227)
at com.bea.content.config.ContentStoreBeanImpl.setRepositoryProperties(U
nknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
Truncated. see log file for complete stacktrace
>
i also add oracle-ucm-spi-app-lib.ear in weblogic-application.xml's WebLogic Shared Library.
please find the related files.
content-config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<content-config xmlns="http://www.bea.com/ns/portal/90/content-config">
<!-- This is a default content repository applications can use.
The IDE should copy this to META-INF/content-config.xml of the
application.
This repository is not required for WLP services, so you can remove
it or change it as needed. -->
<content-store>
<name>UCMRepository</name>
<class-name>com.oracle.content.spi.ucm.RepositoryImpl
</class-name>
<username>wlpApp</username>
<repository-property>
<description>Hostname on which the UCM Content Server is running
</description>
<name>ContentServerHostname</name>
<value>172.23.210.16</value>
</repository-property>
<repository-property>
<description>Port on which the UCM Content Server is running (on host named above)
</description>
<name>ContentServerPort</name>
<value>4444</value>
</repository-property>
<repository-property>
<description>Content Server uname in Admin role, for
security checks
</description>
<name>ContentServerAdminUser</name>
<value>sysadmin</value>
</repository-property>
<repository-property>
<description>List of folder ObjectClasses</description>
<name>folder_badge_objectClasses</name>
<value>IDC:Folder</value>
</repository-property>
<repository-property>
<description>Single user for all type related interactions
</description>
<name>TypeRetrievalShapeUser</name>
<value>typeShapeUser</value>
</repository-property>
<repository-property>
<name>useNativeSecurity</name>
<value>false</value>
</repository-property>
<repository-property>
<description>Protocol used to connect with the UCM Server.
Valid
options are INTRADOC or INTRADOC_SSL. INTRADOC is the
default.
</description>
<name>ContentServerServiceType</name>
<value>INTRADOC</value>
</repository-property>
<repository-property>
<description>Content Server Username in Admin role, used
for security
checks
</description>
<name>ContentServerAdminUser</name>
<value>sysadmin</value>
</repository-property>
<repository-property>
<description>Polling interval for the
CacheInvalidator IntervalJob
(must be equal to or greater than 2 min)
</description>
<name>CacheInvalidationInterval</name>
<value>2</value>
</repository-property>
<repository-property>
<description>Location on the filesystem of the
client SSL keystore
file. Only used when ContentServerServiceType
is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreFile</name>
<value>c:/client_keystore</value>
</repository-property>
<repository-property>
<description>SSL keystore password. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystorePassword</name>
<value>idcidc</value>
</repository-property>
<repository-property>
<description>SSL keystore alias name. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreAlias</name>
<value>SecureClient</value>
</repository-property>
<repository-property>
<description>SSL keystore alias password. Only used when
ContentServerServiceType is INTRADOC_SSL
</description>
<name>ContentServerSSLKeystoreAliasPassword</name>
<value>idcidc</value>
</repository-property>
<read-only>true</read-only>
<binary-cache-max-entry-size>102400</binary-cache-max-entry-size>
<!-- metadata search -->
<search-is-enabled>true</search-is-enabled>
<!-- full text search -->
<fulltext-search-is-enabled>true</fulltext-search-is-enabled>
<search-indexing-is-enabled>false</search-indexing-is-enabled>
</content-store>
</content-config>
p13n-cache-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<p13n-cache-config xmlns="http://www.bea.com/ns/p13n/90/p13n-cache-config">
<!--
This is the caches for the default content repository. The IDE should
copy this to META-INF/p13n-cache-config.xml of the application. These
caches are for the default WLP Repository. You can modify these to fit
your needs. If you remove the WLP Repository, you can remove these
entries.
-->
<cache>
<name>nodeCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>50</max-entries>
</cache>
<cache>
<name>nodePathCache.UCMRepository</name>
<description>Caches node path to node instance for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>50</max-entries>
</cache>
<cache>
<name>typeCache.UCMRepository</name>
<description>Caches binary property values for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>typeNameCache.UCMRepository</name>
<description>Caches type id to content type for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>binaryCache.UCMRepository</name>
<description>Caches type name to content type for UCMRepository</description>
<time-to-live>60000</time-to-live>
<max-entries>10</max-entries>
</cache>
<cache>
<name>searchCache.UCMRepository</name>
<description>Caches node id to node for UCMRepository</description>
<time-to-live>300000</time-to-live>
<max-entries>200</max-entries>
</cache>
<cache>
<name>nativeAuthCacheUCMRepository</name>
<description>Caches node path to node for UCMRepository</description>
<time-to-live>5000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.typeNameCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.nodePathToUidCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.nodeUidCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.securityInfoCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.typeNamesCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
<cache>
<name>repo.ucm.indexedFieldsCache.UCMRepository</name>
<description>Caches node id to node instance for UCMRepository</description>
<time-to-live>1800000</time-to-live>
<max-entries>5000</max-entries>
</cache>
</p13n-cache-config>Hi Venu,
Normally if you can see the UCM content in the admin console, it means the adapter is configured correctly and the placeholder should work. There's a couple of things I can suggest:
1. Did you include the oracle-ucm-spi-app-lib.ear file in your project as documented under the heading Add a Reference to the UCM VCR Adapter Shared Library in the UCM VCR adapter installation docs ( [http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/ucm_adapter/install.html|http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/ucm_adapter/install.html] )?
2. Browse to a document in the repository in the admin console. Pick one of the fields there (e.g. IDC:Folder.dDocId), grab the value and run a query using the placeholder. Do you get a single result?
3. The original poster (user8867138) mentions a query along the lines of returning all folders that has dDocAuthor = sysadmin. If your UCM system had 10,000 folders all created by sysadmin, the adapter might be timing out? IIRC, you can adjust the timeout in UCM.
4. Did you try a similar query using Content Selector instead?
5. If the WLP server domain is running on a separate machine, is UCM configured to accept connections from the WLP server but not your machine?
I would suggest getting the latest patches for WLP too as some of them are related to the UCM VCR adapter.
Cheers,
Cappa -
TP Agreement Not Found -- OAGIS XML document over AS2
Hi,
I am getting TP Agreement not found error while receiving OAGIS XML document over AS2. Below is error message.
Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND
I am not sure why it says null-INBOUND. It appears like it is not able to identify Document Version. DOCTYPE_REVISION=7.2.1 is being passed in the AS2 transport headers but still it does not recognize the version.
I am not sure what is missing. Please give some ideas hints.
Below is the Business Message:----
Id AC12149513F1F78141400000E7DEDE00
Message Id AC12149513F1F78136200000E7DED800
Refer To Message Refer To Message
Sender Type AS2 Identifier
Sender Value SOALocal
Receiver Type AS2 Identifier
Receiver Value PowellIndustries
Sender SOALocal
Receiver Powell
Agreement Id
Agreement
Document Type PROCESS_INVOICE_002
Document Protocol OAG
Document Version 7.2.1
Message Type REQ
Direction INBOUND
State MSG_ERROR
Acknowledgement Mode NONE
Response Mode ASYNC
Send Time Stamp 06/07/2013 11:28:49 AM
Receive Time Stamp 06/07/2013 11:28:50 AM
Document Retry Interval(Channel) 0
Document Remaining Retry(Channel) 0
Document Retry Interval(Agreement)
Document Remaining Retry(Agreement)
Native Message Size 10788
Translated Message Size
Business Action Name
Business Transaction Name
Xpath Name1
Xpath Value1
Xpath Expression1
Xpath Name2
Xpath Value2
Xpath Expression2
Xpath Name3
Xpath Value3
Xpath Expression3
Correlation From XPath Name
Correlation From XPath Value
Correlation From XPath Expression
Correlation To XPath Name
Correlation To XPath Value
Correlation To XPath Expression
Wire Message Wire Message
Application Message Application Message
Payload Storage Payload Storage
Attachment Attachment
Label
Collaboration Id AC12149513F1F7813BF00000E7DEDB00
Collabration Name
Collabration Version
Business Action Name
Exchange Protocol Name AS2
Exchange Protocol Version 1.1
Interchange Control Number
Group Control Number
Transaction Set Control Number
Error Code B2B-50547
Error Description Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
Error Level ERROR_LEVEL_COLLABORATION
Error Severity ERROR
Error Text Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
Below is the Wire Message:----
Id AC12149513F1F78115400000E7DED600
Message Id AC12149513F1F78115400000E7DED600
Business Message AC12149513F1F78141400000E7DEDE00
Packed Message Packed Message
Payload Payload
Protocol Message Id <38383939373331343630313931303737@SOALocal>
Refer To Protocol Message Id
Protocol Collaboration Id
Protocol Transport Binding ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
Message Digest Message Digest
Digest Algorithm md5
Transport Protocol HTTP
Transport Protocol Version 1.1
Url http://pwl.pri:8001/b2b/transportServlet
security
Transport Headers ChannelName=SOALocal dcID=CHANNEL_nlzbB-7511847722850817684 AS2-To=PowellIndustries DOCTYPE_NAME=PROCESS_INVOICE_002 TE=trailers, deflate, gzip, compress DOCTYPE_REVISION=7.2.1 Date=Fri, 07 Jun 2013 16:28:49 GMT AS2-Version=1.1 Accept-Encoding=gzip, x-gzip, compress, x-compress AS2-From=SOALocal url=http://pwl.pri:8001/b2b/transportServlet Content-Transfer-Encoding=binary Message-ID=<38383939373331343630313931303737@SOALocal> Content-type=application/pkcs7-mime; smime-type="enveloped-data" MSG_RECEIVED_TIME=Fri Jun 07 11:28:49 CDT 2013 ECID-Context=1.71b9d2a41e5aaef0:-10db6371:13f1ee6cb74:-8000-000000000000276d;khvE MIME-version=1.0 tpName=PowellIndustries User-Agent=AS2 Server Oracle HTTPClient Version 10h Content-Length=13663 Host=pwl.pri:8001 Connection=close, TE useProxy=false From=SOALocal additionalHeaders=DOCTYPE_NAME=PROCESS_INVOICE_002#DOCTYPE_REVISION=7.2.1
certificates certificates
State ERROR
Reattempt Count
Error Code B2B-50547
Error Description Machine Info: (pwl.pri) Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
Error Text Agreement not found for trading partners: FromTP SOALocal, ToTP Powell with document type PROCESS_INVOICE_002-null-INBOUND.
exchangeRetryInterval
exchangeRemainingRetry
Message Size 10788
Thanks
Ismail M.Hi Anuj,
Here is the payload from the wire message. We are using 11.1.1.6.0
<?xml version = '1.0' encoding = 'UTF-8'?>
<PROCESS_INVOICE_002 xmlns="http://www.openapplications.org/171_process_invoice_002">
<CNTROLAREA xmlns="">
<BSR>
<VERB value="PROCESS">PROCESS</VERB>
<NOUN value="INVOICE">INVOICE</NOUN>
<REVISION value="002">002</REVISION>
</BSR>
<SENDER>
<LOGICALID>POWELLIND</LOGICALID>
<COMPONENT>B2B</COMPONENT>
<TASK/>
<REFERENCEID/>
<CONFIRMATION>0</CONFIRMATION>
<LANGUAGE>ENG</LANGUAGE>
<CODEPAGE/>
<AUTHID>oracle B2B</AUTHID>
</SENDER>
<DATETIME qualifier="CREATION">
<YEAR/>
<MONTH/>
<DAY/>
<HOUR/>
<MINUTE/>
<SECOND/>
<SUBSECOND/>
<TIMEZONE/>
</DATETIME>
</CNTROLAREA>
<DATAAREA xmlns="">
<PROCESS_INVOICE>
<INVHEADER>
<AMOUNT qualifier="DOCUMENT" type="T" index="1">
<VALUE>5413</VALUE>
<NUMOFDEC>2</NUMOFDEC>
<SIGN>+</SIGN>
<CURRENCY>USD</CURRENCY>
<DRCR>D</DRCR>
</AMOUNT>
<DATETIME qualifier="DOCUMENT" index="1">
<YEAR>2013</YEAR>
<MONTH>03</MONTH>
<DAY>15</DAY>
<HOUR>00</HOUR>
<MINUTE>00</MINUTE>
<SECOND>00</SECOND>
<SUBSECOND>0000</SUBSECOND>
<TIMEZONE>-0500</TIMEZONE>
</DATETIME>
<DOCUMENTID>1000182</DOCUMENTID>
<DESCRIPTN/>
<DOCTYPE/>
<PAYMETHOD/>
<REASONCODE/>
<USERAREA/>
<PARTNER>
<NAME index="1">Powell US Operating Unit</NAME>
<ONETIME/>
<PARTNRID/>
<PARTNRTYPE>Supplier</PARTNRTYPE>
<SYNCIND/>
<ACTIVE/>
<CURRENCY/>
<DESCRIPTN/>
<DUNSNUMBER/>
<GLENTITYS/>
<NAME index="1">Powell US Operating Unit</NAME>
<PARENTID/>
<PARTNRIDX/>
<PARTNRRATG/>
<PARTNRROLE/>
<PAYMETHOD/>
<TAXEXEMPT/>
<TAXID/>
<TERMID/>
<USERAREA/>
<CONTACT>
<NAME index="1">No Sales Credit</NAME>
<CONTCTTYPE/>
<DESCRIPTN/>
<EMAIL/>
<FAX index="1"/>
<TELEPHONE index="1"/>
<USERAREA/>
</CONTACT>
</PARTNER>
<PARTNER>
<NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
<ONETIME/>
<PARTNRID/>
<PARTNRTYPE>RemitTo</PARTNRTYPE>
<SYNCIND/>
<ACTIVE/>
<CURRENCY/>
<DESCRIPTN/>
<DUNSNUMBER/>
<GLENTITYS/>
<NAME index="1">PO Box 843823, Dallas, Dallas, TX, 75284-3823, United States</NAME>
<PARENTID/>
<PARTNRIDX/>
<PARTNRRATG/>
<PARTNRROLE/>
<PAYMETHOD/>
<TAXEXEMPT/>
<TAXID/>
<TERMID/>
<USERAREA/>
<ADDRESS>
<ADDRLINE index="1">PO Box 843823</ADDRLINE>
<ADDRTYPE/>
<CITY>Dallas</CITY>
<COUNTRY>United States</COUNTRY>
<COUNTY>Dallas</COUNTY>
<DESCRIPTN/>
<FAX index="1"/>
<POSTALCODE/>
<REGION/>
<STATEPROVN>TX</STATEPROVN>
<TAXJRSDCTN/>
<TELEPHONE index="1"/>
<URL/>
<USERAREA/>
</ADDRESS>
<CONTACT>
<NAME index="1"/>
<CONTCTTYPE/>
<DESCRIPTN/>
<EMAIL/>
<FAX index="1"/>
<TELEPHONE index="1"/>
<USERAREA/>
</CONTACT>
</PARTNER>
<PARTNER>
<NAME index="1"/>
<ONETIME/>
<PARTNRID/>
<PARTNRTYPE>Carrier</PARTNRTYPE>
<SYNCIND/>
<ACTIVE/>
<CURRENCY/>
<DESCRIPTN/>
<DUNSNUMBER/>
<GLENTITYS/>
<NAME index="1"/>
<PARENTID/>
<PARTNRIDX/>
<PARTNRRATG/>
<PARTNRROLE/>
<PAYMETHOD/>
<TAXEXEMPT/>
<TAXID/>
<TERMID/>
<USERAREA/>
<ADDRESS>
<ADDRLINE index="1"/>
<ADDRTYPE/>
<CITY/>
<COUNTRY/>
<COUNTY/>
<DESCRIPTN/>
<FAX index="1"/>
<POSTALCODE/>
<REGION/>
<STATEPROVN/>
<TAXJRSDCTN/>
<TELEPHONE index="1"/>
<URL/>
<USERAREA/>
</ADDRESS>
<CONTACT>
<NAME index="1"/>
<CONTCTTYPE/>
<DESCRIPTN/>
<EMAIL/>
<FAX index="1"/>
<TELEPHONE index="1"/>
<USERAREA/>
</CONTACT>
</PARTNER>
<DOCUMNTREF>
<DOCTYPE>INV</DOCTYPE>
<DOCUMENTID>10005:21009</DOCUMENTID>
<PARTNRID/>
<PARTNRTYPE>Supplier</PARTNRTYPE>
<DESCRIPTN/>
<DOCUMENTRV/>
<LINENUM/>
<NOTES index="1"/>
<SCHLINENUM/>
<SUBLINENUM/>
<USERAREA/>
</DOCUMNTREF>
<INVTAX>
<AMOUNT qualifier="TAX" type="T" index="1">
<VALUE>413</VALUE>
<NUMOFDEC>2</NUMOFDEC>
<SIGN>+</SIGN>
<CURRENCY>USD</CURRENCY>
<DRCR>D</DRCR>
</AMOUNT>
<AMOUNT qualifier="TAXBASE" type="T" index="1">
<VALUE>5413</VALUE>
<NUMOFDEC>2</NUMOFDEC>
<SIGN>+</SIGN>
<CURRENCY>USD</CURRENCY>
<DRCR>D</DRCR>
</AMOUNT>
<QUANTITY qualifier="PERCENT">
<VALUE/>
<NUMOFDEC/>
<SIGN/>
<UOM/>
</QUANTITY>
<DESCRIPTN/>
<LINENUM/>
<TAXCODE/>
<TAXJRSDCTN/>
<USERAREA/>
</INVTAX>
<PYMTTERM>
<AMOUNT qualifier="DISCNT" type="T" index="1">
<VALUE/>
<NUMOFDEC/>
<SIGN/>
<CURRENCY/>
<DRCR/>
</AMOUNT>
<DATETIME qualifier="DISCNT" index="1">
<YEAR/>
<MONTH/>
<DAY/>
<HOUR/>
<MINUTE/>
<SECOND/>
<SUBSECOND/>
<TIMEZONE/>
</DATETIME>
<DATETIME qualifier="DUE" index="1">
<YEAR>2013</YEAR>
<MONTH>04</MONTH>
<DAY>14</DAY>
<HOUR>00</HOUR>
<MINUTE>00</MINUTE>
<SECOND>00</SECOND>
<SUBSECOND>0000</SUBSECOND>
<TIMEZONE>-0500</TIMEZONE>
</DATETIME>
<DATETIME qualifier="PYMTTERM" index="1">
<YEAR>1952</YEAR>
<MONTH>01</MONTH>
<DAY>01</DAY>
<HOUR>00</HOUR>
<MINUTE>00</MINUTE>
<SECOND>00</SECOND>
<SUBSECOND>0000</SUBSECOND>
<TIMEZONE>-0600</TIMEZONE>
</DATETIME>
<DESCRIPTN>Net Due in 30 Days</DESCRIPTN>
<TERMID>30 NET</TERMID>
<USERAREA>
<AMOUNT qualifier="TOTAL" type="T" index="1">
<VALUE>5413</VALUE>
<NUMOFDEC>2</NUMOFDEC>
<SIGN>+</SIGN>
<CURRENCY/>
<DRCR>D</DRCR>
</AMOUNT>
</USERAREA>
</PYMTTERM>
</INVHEADER>
<INVLINE>
<AMOUNT qualifier="EXTENDED" type="T" index="1">
<VALUE>50</VALUE>
<NUMOFDEC/>
<SIGN>+</SIGN>
<CURRENCY/>
<DRCR>D</DRCR>
</AMOUNT>
<OPERAMT qualifier="UNIT" type="T">
<VALUE>5</VALUE>
<NUMOFDEC/>
<SIGN>+</SIGN>
<CURRENCY/>
<UOMVALUE>1</UOMVALUE>
<UOMNUMDEC>0</UOMNUMDEC>
<UOM/>
</OPERAMT>
<QUANTITY qualifier="ITEM">
<VALUE>10</VALUE>
<NUMOFDEC/>
<SIGN>+</SIGN>
<UOM/>
</QUANTITY>
<LINENUM>1</LINENUM>
<DESCRIPTN>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</DESCRIPTN>
<ITEM>11GA SHEET STEEL HOT ROLLED-PICKLED-OILED COMMERCIAL QUALITY.</ITEM>
<ITEMTYPE/>
<ITEMX>11HRPO</ITEMX>
<OPENITEM/>
<PROJACTVTY/>
<UNIT>LB</UNIT>
<UPC/>
<USERAREA/>
<DOCUMNTREF>
<DOCTYPE>LINE</DOCTYPE>
<DOCUMENTID>10005:21009:19019</DOCUMENTID>
<PARTNRID/>
<PARTNRTYPE>Supplier</PARTNRTYPE>
<DESCRIPTN/>
<USERAREA/>
</DOCUMNTREF>
<DOCUMNTREF>
<DOCTYPE>SalesOrder</DOCTYPE>
<DOCUMENTID>600813</DOCUMENTID>
<PARTNRID/>
<PARTNRTYPE/>
<DESCRIPTN/>
<USERAREA/>
</DOCUMNTREF>
<DOCUMNTREF>
<DOCTYPE>PurchaseOrder</DOCTYPE>
<DOCUMENTID>TEST123</DOCUMENTID>
<PARTNRID>N/A</PARTNRID>
<PARTNRTYPE>Customer</PARTNRTYPE>
<DESCRIPTN/>
<DOCUMENTRV/>
<LINENUM/>
<SCHLINENUM/>
</DOCUMNTREF>
</INVLINE>
</PROCESS_INVOICE>
</DATAAREA>
</PROCESS_INVOICE_002> -
Generate a PDF doc from binary content.
Hi folks,
I have this scenario: File Adapter <- XI -<ABAP Proxy.
The scenario starts when R/3 runs a report (job scheduled) that invokes an outbound method of ABAP Proxy. Under this outbound method, few parameters are sent to XI, one of them is an xstring. The xstring (binary content) can be a PDF or TXT document, depends of the doc_format parameter value.
I already read some documents and web logs about file format conversions. But my problem is that the XML element is coming in binary (xstring) and I need to generate a new PDF document from that element. All the web logs mention conversion from XML to any other format and not from binary!
My idea is to develop a Receiver File Adapter Module. The Module only picks the binary XML element and converts it in a PDF document giving the name and the format that comes into others neighbors elements of XML.
Anyone knows which classes/methods are needed? Or is there another easy way to do this that am I not seeing?
Thanks in Advance,
Ricardo.Hi all,
First, thank you all for the quick replies.
To be clear, I have a binary stream that I want to convert into PDF format and not XML to PDF. So, like I said before, the SDN web logs only mention conversions from XML to PDF and not binary stream to PDF or even others formats. Using XSL I need my source message in XML and that is not the case
Venkat, your approach is develop a module to get the binary stream and other module to convert into PDF format, am I right?
Cheers,
Ricardo. -
How to convert Binary Data into XML ???
I am calling the getTaskInfo method of TaskManagerService class using Web Service API.
The result includes the formdata in two formats:
1. Binary content of the form
2. Remote URL of the form data
I have to find a value of a particular field using one of the above information.
I am unable to convert the binary data to XML directly. I have also tried fetch the document based on remoteURL parameter which is also not working.
Any suggestions are highly appreciated.
Thanks
NithHi Steffen,
I found the same solution and fixed the issue long time back. Just forgot to close this forum topic.
Thanks for your knowledge sharing.
Nith -
Error when parsing the XML document
hi all.
i have the next problem.
the sender sistem send to XI an XML. some tags send a '#' caracter.
Sender Service send:
Torre B1 - B#Unimev
when Im traying to test XML inbound, XI show the next error:
Error when parsing the XML document (Fatal Error: com.sap.engine.lib.xml.parser.ParserException: Invalid char #0x14(:main:, row:1, col:992))
XML:
<?xml version="1.0" encoding="UTF-8" ?>
- <ZDEBMAS6>
- <IDOC BEGIN="1">
- <EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>300</MANDT>
<DOCNUM>0000000000339708</DOCNUM>
<DOCREL>640</DOCREL>
<STATUS>30</STATUS>
<DIRECT>1</DIRECT>
<OUTMOD>2</OUTMOD>
</EDI_DC40>
- <E1KNA1M SEGMENT="1">
<MSGFN>009</MSGFN>
<REGIO>07</REGIO>
<STCD1>20147972750</STCD1>
<FITYP>01</FITYP>
<STCDT>80</STCDT>
<STCD3>0</STCD3>
- <Z1KNA1M SEGMENT="1">
<MSGFN>009</MSGFN>
<KUNNR>0001000563</KUNNR>
<ZZSOCRCV>3100</ZZSOCRCV>
<ZZGBDAT>00000000</ZZGBDAT>
<b> <ZZAD_STREET_CO>Torre B1 - B Unimev</ZZAD_STREET_CO></b>
<ZZAD_ROOMNUM_CO>PB</ZZAD_ROOMNUM_CO>
<ZZAD_FLOOR_CO>E</ZZAD_FLOOR_CO>
<ZZAD_PSTCD1_CO>M5521AAR</ZZAD_PSTCD1_CO>
<ZZAD_CITY1_CO>Mendoza</ZZAD_CITY1_CO>
<ZZAD_REGIO_CO>07</ZZAD_REGIO_CO>
</Z1KNA1M>
<Z1ADRCM SEGMENT="1">
<MSGFN>009</MSGFN>
<KUNNR>0001000563</KUNNR>
<b><STREET>Torre B1 - B Unimev</STREET></b>
<FLOOR>PB</FLOOR>
<HOUSE_NUM2>E</HOUSE_NUM2>
<CITY1>Mendoza</CITY1>
<POST_CODE1>5521</POST_CODE1>
<COUNTRY>AR</COUNTRY>
<REGION>07</REGION>
<LANGU>S</LANGU>
</Z1ADRCM>
</E1KNA1M>
</IDOC>
</ZDEBMAS6>
Message was edited by: Rodrigo Pertierra
Message was edited by: Rodrigo PertierraHi Rodrigo,
Do you use a specific "encoding" like UTF-8 or ISO-8859-1 in your Sender CC.
Try changing the Transfer mode to Binary instead of Text.
Also go through these links:-
http://help.sap.com/saphelp_nw2004s/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
Invalid char in XML from inbound IDoc
Hope this provides a solution.
Regards.
Praveen -
CDESK: How to get a customized content in the document list tab
I try to get a specific list of document info records (DIR's) in the document list tab of the CDESK - similar to the document search result.
I use the Addin-BADI and the ~PROCESS_NEW_FUNCTIONS/~ADD_NEW_FUNCTIONS methods to start a costumer specific selection of DIR's.
For instance I want to select all documents with contain the digits 99.
Then I want to show the selection result as the content of the document list tab to proceed with further steps like ckeck-out and so on.
I followed an example which I found in this forum, see thread "CDESK: Start userdefined search program and recieve DIRs".
My coding is:
method if_ex_cdesk_tbm_addin~process_new_functions.
when 'ZFCODE_ARBVOR'.
data lt_draw type table of draw.
select * from draw into table lt_draw
where dokar = 'TKD'
and doknr = '99'.
sort lt_draw stable by dokar doknr doktl dokvr ascending.
delete adjacent duplicates from lt_draw comparing dokar doknr doktl dokvr.
PERFORM refresh_sap_list IN PROGRAM saplcdesk TABLES lt_draw USING 'X'.
But nothing happens with the document list when executing this customer function.
I assume it is not possible to update the document list out of a BADI in that way.
Does anyone has some hints?
Kind regards,
Matthias FischerHi Khaled,
There is an standard RFC RFC_READ_TABLE which can read any table in R/3. But the data returned will be unformatted hence you need to parse it. This FM has few limitations aswell.
RFC_READ_TABLE is an RFC that allows users to read a table remotely. This is important particularly to Java developers using JCO to communicate with an ABAP back-end. Unfortunately, RFC_READ_TABLE has size limitations; it also incorrectly reads binary data. Also no authorization checking takes place.
Also refer the link below
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/ep/portal-content/simplified queries of sap tables from java
hope this helps..
Regards
Anand
Message was edited by: Anand Torgal
Maybe you are looking for
-
Using the same Apple ID on 2 devices - 1 set to UK Store, 1 set to US store
Hi, I live in the United States and am trying to set up my iPad on a UK DNS server so that I can watch British TV using the BBC iPlayer app. In order to download the BBC iPlayer app I need to use the UK iTunes store. I am also using the same Apple ID
-
Anyway to automatically change processing mode on partner profile???
We have a situation where we need to lock down SAP for a few hours every night so a credit reorg job can run. However, at the same time we need delivery idoc's to be sent into the same SAP system but we cannot allow them to post since they may interf
-
Help!Can not start the database by sqlplus!!!ORA-12514:
OS:window xp oracle 10g sqlplus /nolog SQL*Plus: Release 10.1.0.2.0 - Production on 星期六 5月 20 15:08:26 2006 Copyright (c) 1982, 2004, Oracle. All rights reserved. SQL> connect sys/demo@demo as sysdba ERROR: ORA-12514: TNS:listener does not currently
-
I have a few queries about Captions. How do I get the captions to print properly underneath the photographs when it is in landscape layout? I can do it if the photograph is in Portrait orintation. If it is in Landscape layout (i.e. rotate to fit is
-
Error 1604 when updating to 2.0 Help!!
So last night I got really excited and remembered that the 2.0 update was supposed to come out. So like everyone else in the world (which I didn't realize this at the time), I started to update. Everything was going fine...until I got some error in t