Invalid UTF-8 middle byte 0x6f (at char #3309, byte #2895)

Hello Oracle Support/ SOA Experts,
Please guide me on how to resolve this issue.
Issue Description : We are using ATG,Oracle SoA SUite 11g as the Front and Middleware applications for our current website project.The project is basically for latin america(Portuguese Language) and we are facing encoding issue while sending the request from ATG(Front End) to SOA (Middleware).We have an SOA-xsd [customer.xsd) that contains FirstName,LastName,MiddleName as elements.Front End application(ATG) sends the customer xsd in ISO-8859-1 encoding format as we understood that only encoding format for sending the portuguese names is this format.Front is able to send the request to SOA Without any issues however the only format which SOA Suite accepts in our BPEL process is UTF-8 and hence we are seeing this invalid UTF-8 error.Can anyone of you please explain us on how to resolve this issue or please guide us which encoding format can we use for passing portuguese characters from front end to SOA Suite.
*Exception*:
            java.lang.RuntimeException: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0x6f (at char #3309, byte #2895): [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0x6f (at char #3309, byte #2895)
What we tried :
Since ATG or front end is using the ISO-8859-1 format to send the request to SOA,we tried to use the encoding format in all the SOA BPEL XSD but we are unable to deploy after changing the encoding and we see the below error :
Exception:
Redeploying on /Farm_soa2_domain/soa2_domain/soa_server1 ...
Redeploying on "/Farm_soa2_domain/soa2_domain/soa_server1" failed!
Error during deployment/undeployment: oracle.mds.transfer.TransferException:
MDS-00001: exception in Metadata Services layer
MDS-00521: error while reading document /deployed-composites/default/ManageCustomerOrderOrchestration_rev1.0/xsd/ManageContract.xsd from metadata repository
IS0-8859-1
IS0-8859-1
MDS-00001: exception in Metadata Services layer
MDS-00521: error while reading document /deployed-composites/default/ManageCustomerOrderOrchestration_rev1.0/xsd/ManageContract.xsd from metadata repository
IS0-8859-1
IS0-8859-1

Hello Oracle Support/ SOA Experts,
Please guide me on how to resolve this issue.
Issue Description : We are using ATG,Oracle SoA SUite 11g as the Front and Middleware applications for our current website project.The project is basically for latin america(Portuguese Language) and we are facing encoding issue while sending the request from ATG(Front End) to SOA (Middleware).We have an SOA-xsd [customer.xsd) that contains FirstName,LastName,MiddleName as elements.Front End application(ATG) sends the customer xsd in ISO-8859-1 encoding format as we understood that only encoding format for sending the portuguese names is this format.Front is able to send the request to SOA Without any issues however the only format which SOA Suite accepts in our BPEL process is UTF-8 and hence we are seeing this invalid UTF-8 error.Can anyone of you please explain us on how to resolve this issue or please guide us which encoding format can we use for passing portuguese characters from front end to SOA Suite.
*Exception*:
            java.lang.RuntimeException: [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0x6f (at char #3309, byte #2895): [com.ctc.wstx.exc.WstxLazyException] com.ctc.wstx.exc.WstxIOException: Invalid UTF-8 middle byte 0x6f (at char #3309, byte #2895)
What we tried :
Since ATG or front end is using the ISO-8859-1 format to send the request to SOA,we tried to use the encoding format in all the SOA BPEL XSD but we are unable to deploy after changing the encoding and we see the below error :
Exception:
Redeploying on /Farm_soa2_domain/soa2_domain/soa_server1 ...
Redeploying on "/Farm_soa2_domain/soa2_domain/soa_server1" failed!
Error during deployment/undeployment: oracle.mds.transfer.TransferException:
MDS-00001: exception in Metadata Services layer
MDS-00521: error while reading document /deployed-composites/default/ManageCustomerOrderOrchestration_rev1.0/xsd/ManageContract.xsd from metadata repository
IS0-8859-1
IS0-8859-1
MDS-00001: exception in Metadata Services layer
MDS-00521: error while reading document /deployed-composites/default/ManageCustomerOrderOrchestration_rev1.0/xsd/ManageContract.xsd from metadata repository
IS0-8859-1
IS0-8859-1

Similar Messages

  • Unexpected XMP_Error Invalid UTF-8 data byte

    Hi all,
    I'm using the XMP SDK 4.4.2 and with it the sample application "xmpcommands". This one is extremely helpful - but it fails when using files that have Umlauts(öäü) in the name. When calling, i.e.
    xmpcommand.exe get c:\Fileöäü.jpg
    the command returns:
    Unexpected XMP_Error Invalid UTF-8 data byte
    As soon as I remove the umlauts all is fine. I tracked to problem down to the function ToUTF16Native called from GetFileMode in xmpfiles_impl.cpp:
        FileMode GetFileMode ( const char * path )
            std::string utf16;    // GetFileAttributes wants native UTF-16.
            ToUTF16Native ( (UTF8Unit*)path, strlen(path), &utf16 );
            utf16.append ( 2, '\0' );    // Make sure there are at least 2 final zero bytes.
    It seems that the file path is NOT UTF8 encoded. This very likely as I'm working on Windows and there the command line encoding is ANSI.
    Is there something special I need to set when compiling on Windows?
    Does anyone have a solution for this?
    [UPDATE]
    I've converted the file path to UTF8 and now this error does not occure BUT now I get the error, that the file was not found! Grrr.....
    Cheers & THANKS,
    Jens
    www.finalcandidate.com

    Hi,
    Input to OpenFile() function needs to be a UTF8 string. "flówér.jpg" is in WinANSI, and needs to be converted to UTF8 string so that OpenFile can correctly find the file.
    For example, on Windows OS, you need to define a function as:
    void WinEncodingToUTF8 ( UINT codePage, const XMP_Uns8 * hostPtr, size_t hostLen, std::string * utf8 )
    int utf16Len = MultiByteToWideChar ( codePage, 0, (LPCSTR)hostPtr, (int)hostLen, 0, 0 );
    std::vector<UTF16Unit> utf16 ( utf16Len, 0 );   // MultiByteToWideChar returns native UTF-16.
    (void) MultiByteToWideChar ( codePage, 0, (LPCSTR)hostPtr, (int)hostLen, (LPWSTR)&utf16[0], utf16Len );
    FromUTF16Native ( &utf16[0], (int)utf16Len, utf8 );
    This function requires a function which is present in the file "UnicodeConversions.cpp". So you need to include a file "source/UnicodeConversions.hpp" in your project.
    The sample usage could be:
    std::string outputPath;
    WinEncodingToUTF8( 1252, (const XMP_Uns8 *)inputFile.c_str(), inputFile.size(), &outputPath );

  • UTFDataFormatException, invalid byte 1 (�) of a 6-byte sequence

    Hi
    I am trying to parse xml file using sax parser(xerces-c) . i am not able to fix this error :
    UTFDataFormatException, invalid byte 1 (�) of a 6-byte sequence.
    xml file:
    <?xml version="1.0" ?>
    <!DOCTYPE svc_result SYSTEM "MLP_SVC_RESULT_310.dtd" [
    <!ENTITY % extension SYSTEM "PLS_PZSIR_100.DTD">
    %extension;]>
    ........

    Hi Siddiqui,
    It looks like u r importing some characters those are not valid UTF-8 character set and some time this type of error comes when u try to import characters like *<,>* so use *& lt;* for < and *>* for >.
    sorry those Characters r not display properly :-(
    Thanx
    Shant
    Edited by: Shant on Jan 18, 2008 6:19 AM
    Edited by: Shant on Jan 18, 2008 6:23 AM

  • Invalid UTF-8

    Hi,
    In startsap_<name>.log of a ECC6 appear the next error:
    (2377) Local: /usr/sap/PRD/SYS/exe/run/sapmscsa -n pf=/usr/sap/PRD/SYS/profile/PRD_DVEBMGS00_ap-s-sap
    --- Unicode interface [u16_get.c line 227] pid = 2378 :
    Invalid UTF-8 encountered by fgetcU16 (fileno 0x5)
    f3 6e                                           |.n              |
    --- Unicode interface -
    End of message -
    --- Unicode interface [u16_get.c line 227] pid = 2378 :
    Invalid UTF-8 encountered by fgetcU16 (fileno 0x5)
    Anybody has some idea of where can solve this error?
    Thanks,
    jose

    Hi,
    fgetc is an C function to read your file bytes and is detecting a problem with charset encoding.
    Check your profile file =/usr/sap/PRD/SYS/profile/PRD_DVEBMGS00_ap-s-sap is encoded with UTF-8 charset. You can use "file" command (see man file) or your text editor (Are you on unix or linux?).
    You may also check the default encoding for your system with command "locale charmap" (maybe it is iso-8859-1 or ASCII if you are using unix). Check also whether your system has UTF-8 locale support enabled (command "locale -a"). Check the contents of the env valiable LANG, because you are using the locale informed in this variable.
    C libraries use the encoding specified in env variable LC_CTYPE or LANG (In that order)
    Your SAP system expects UTF-8 because your SAP installation may be Unicode.
    I hope this help,
    Jorge Linares

  • How can i convert an object to stream of chars or bytes?

    how can i convert an object to stream of chars or bytes?

    One way is the serialization mechanism. There are examples and explanations of it in the Java tutorial: http://java.sun.com/docs/books/tutorial/essential/io/serialization.html

  • Conversion from char to byte

    can anybody to convert char which is unicode in java as one byte. i want to print that byte as ascii.
    i tried below method.
    char temp='s';
    ByteBuffer buff= ByteBuffer.wrap(some byte array of some size);
    buff.putChar(temp);
    out.writeByte(buff.getChar()); // out is my dataoutput stream which
    // stores in some file by using
    // fileoutputstream.
    in some case i got right output like: s
    but in some case i got: sX where X=white space.
    so it's still writing as unicode eventhough i called writeByte.
    i want to change my program little bit by putting char as byte and not as char in bytebuffer and i want to do something like this after i store my chars as byte
    out.writeByte(buff.getByte());
    do you have any method to convert char to byte and store it in buff?
    thanks a lot.

    Try the toBytes() method of the String class.

  • OracleXMLQuery fails with invalid UTF-8 character

    All -
    While using OracleXMLQuery API to pull the data back as a DOM. The internal parser has a fatal error with invalid UTF-8 data stored in the XML data.
    Is it possible to use the setXSLT() method to transform the data before the DOM is attempted to be built. Or some other method within the OracleXMLQuery API to alter the invalid XML data before an attempt is made to parse it?
    Note: The database will have non-UTF-8 data; Presently beyond our control.

    Hi,
    Are the files from the Java-CD fully readable and fully copied, for instance the java-dumpfile ?
    Ensure JVM settings of note # 716604 area applied. Also, is connect possible to database by 'configtool' or does it throw an error ?
    Br,
    Javier

  • Any recommendations for an editor to help find invalid UTF-8 characters?

    I'm generating some XML programmatically. The content has some old invalid characters which are not encoded as UTF-8. For example, in one case there is a long dash character that I can clearly see is ISO-8859-1 in a browser, because if I force the browser to view in ISO-8859-1 I can see the character, but if I view in UTF-8 the characters look like the black-diamond-with-a-question-mark.
    BBEdit will warn me that the the file contains invalid UTF-8. But it doesn't show me where those characters are.
    If I try to load the XML in a browser, like Chrome, it will tell me where the first instance is of an invalid character, but not where all of them are. So I was able to locate the one you see in the screenshot and go in and manually fix that one entry.. But in BBEdit it again just shows a default invalid character symbol.
    What I'd like to be able to do are two things:
    (1) Find all invalid characters so I can then go and fix them all at once without repeated "find the first invalid character" fails when loading the XML in a browser.
    (2) Know what the characters are (rather than generically seeing a bad character symbold) so  I can programmatically strip them out or substitute them when generating the XML. So I need to know what the character values (e.g. the hex values) are for those characters so I can use the replace() method in my server-side JavaScript to get rid of them.
    Anybody know a good editor I can use for these purposes?
    Thanks,
    Doug

    Well, now BBEdit doesn't complain anymore about invalid UTF-8 characters. I've gotten rid of all as far as BBEdit is concerned. But Chrome and other browsers still report a few. I'm trying to quash them now, but because the browsers only report them one-by-one I have to generate the XML multiple times to track them down, which takes one hour per run.
    I think there are only a few left. One at line 180,000. The next at like 450,000. There are only about 600,000 lines in the file, so I think I'll be done soon. Still... it would be nice to have a Mac tool that would locate all the invalid characters the browsers are choking on so I could fix them in one sweep. It would save hours.
    Does anybody know of such a tool for the Mac?
    Thanks,
    Doug

  • Converting a byte[] into a char[]

    Hi All,
    what's the best way to convert a byte[] into a char[]?
    Any advice appreciated. Thanks in advance.

    you will need a encoding schema...
    byte is binary data, char is interpret from byte by the system...
    easiest way without extra coding...
    new String(byte[], encoding).toCharArray()
    if you don't specify encoding... system default is used.

  • Error message in configurin​g profession​nal email account (Invalid\e​scape: line 1 column 271 (char 271).)

    Hi,
    I have an issue I am not able to solve.
    When configuring a pro email in the advanced menu, I have the below error message :
    Invalid\escape: line 1 column 271 (char 271).
    I have checked the email information (server adress, password and so on), everything is fine...
    Cannot find the meaning of the message error.
    Thanks a lot for your help.
    Regards

    Hi..
    For Work Account ::
    User ID : Email Adress ( [email protected])
    Activation Password : Provided from the IT Admin
    Server Adress : provided by It Admin ( S3459908)
    For Microsoft Exchange ActiveSync
    Description :  Your Desired Name (eg.  Your Company name)
    Domain : Your Organizatin Domain name
    Username: Credentials of your Account
    Email Address: Your Email Address
    Password: Password for the Email
    Server Adress: Provided by the IT Admin
    Port: Provided by the IT admin
    Use SSL : ON/OFF as per your IT Admin..
    Please feedback me in this regard...
    Thanks.. 
    Please update the result after applied..
    Thanks

  • Form English Char ( Single Byte  ) TO Double Byte ( Japanese Char )

    Hello EveryOne !!!!
    I need Help !!
    I am new to Java ,.... I got assignment where i need to Check the String , if that string Contains Any Non Japanse Character ( a~z , A~Z , 0 -9 ) then this should be replaced with Double Byte ( Japanese Char )...
    I am using Java 1.2 ..
    Please guide me ...
    thanks and regards
    Maruti Chavan

    hello ..
    as you all asked Detail requirement here i an pasting C code where 'a' is passed as input character ..after process it is giving me Double Byte Japanese "A" .. i want this to be Done ..using this i am able to Convert APLHA-Numeric from singale byte to Doubel Byte ( Japanse ) ...
    Same program i want to Java ... so pleas guide me ..
    #include <stdio.h>
    int main( int argc, char *argv[] )
    char c[2];
    char d[3];
    strcpy( c, "a" ); // a is input char
    d[0] = 0xa3;
    d[1] = c[0] + 0x80;
    printf( ":%s:\n", c ); // Orginal Single byte char
    printf( ":%s:\n", d ); // Converted Double Byte ..
    please ..
    thax and regards
    Maruti Chavan

  • OWB-Import does not distinguish between nls_length_semantics char and byte.

    We have a 10g-DB with UTF8 charset and nls_length_semantics=char and we've created an OWB warehouse module for 10g with several tables in it. After deploy operation for a table the column length attributs are looking nice. But if we re-import this table the varchar fields have the threefold length!
    This makes life hard for us, because sometimes it's necessary to reconcile discrepancies in development cycle and some tables have about 150 columns.
    Does anybody have suggestions?
    The OWB version is 10.1.0.3.0.
    Regards
    Ralf

    Ralf,
    Oracle stores the length of VARCHAR columns in two ways in its metadata. One is the length as required by the application, and the other is the length required to store UTF data.
    One UTF character can take upto 3 characters of storage. When OWB reads in the definition from data dictionary, it uses the actual characters allocated to the column, and thus u see a three fold increase in VARCHAR columns.
    Try this for your table
    select
    column_name, data_length, char_length
    from
    user_tab_columns
    where
    table_name='nameOfTable'
    And that is how Oracle designed the database, but unfortunately OWB does not have that twin way of seeing things.
    - Jojo

  • Char to byte translation

    If I would like to use the new java.util.logging.FileHandler and I would like to use this FH to log binary data, that is plain data, not text (by means of a "BinaryFormatter" that wraps the byte[] into a String), how can I make sure that the outputfile generated contains exactly the bytes as wrapped into the string and not a result of a conversion (char->byte) that is a result of the encoding defined in
    Sys.prop. file.encoding.
    Of course I can write my own FileHandler etc. but I would like to use the std. stuff as much as possible.
    In short it comes down to: what characterset has a one-to-one mapping
    for every value [0..255]?
    Greetings,
    Gouweloos

    In short it comes down to: what characterset has a one-to-one mapping for every value [0..255]?You can play with this:
    char[] chrs = new char[255];  // or 256
    for(int j=0;j<chrs.length;j++){
         chrs[j]=(char)j;
    String str = new String(chrs);
    byte[] byts = str.getBytes("UTF8");//here is the point:  try many other character sets
    System.out.print("byte array length: ");
    System.out.println(byts.length);
    for(int j=0;j<byts.length;j++){
      System.out.print(byts[j]);
      System.out.print(" ");
    System.out.println();

  • Difference between varchar2(4000 byte) & varchar2(4000 char

    Hi,
    My existing database NLS parameters as follows
    CHARACTER SET US7ASCII
    NATIONAL CHARACTER SET AL16UTF16
    created a test database to support globalization, I changed as follows
    CHARACTER SET UTF8
    NATIONAL CHARACTER SET UTF8
    some of the table column datatypes are varchar2(4000)
    I would like to know what is difference between VARCHAR2(4000 BYTE) and VARCHAR2(4000 CHAR).
    Thanks

    Indeed, VARCHAR2(x BYTE) means that the column will hold as much characters as will fit into x bytes. Depending on the character set and particular characters this may be x or less characters.
    For example, a VARCHAR2(20 BYTE) column in an AL32UTF8 database can hold 20 characters from the ASCII range, 10 Latin letters with umlaut, 10 Cyryllic, 10 Hebrew, or 10 Arabic letters (2 bytes per character), or 6 Chinese, Japanese, Korean, or Devanagari (Indic) characters. Or a mixture of these characters of any total length up to 20 bytes.
    VARCHAR2(x CHAR) means that the column will hold x characters but not more than can fit into 4000 bytes. Internally, Oracle will set the byte length of the column (DBA_TAB_COLUMNS.DATA_LENGTH) to MIN(x * mchw, 4000), where mchw is the maximum byte width of a character in the database character set. This is 1 for US7ASCII or WE8MSWIN1252, 2 for JA16SJIS, 3 for UTF8, and 4 for AL32UTF8.
    For example, a VARCHAR2(3000 CHAR) column in an AL32UTF8 database will be internally defined as having the width of 4000 bytes. It will hold up to 3000 characters from the ASCII range (the character limit), but only 1333 Chinese characters (the byte limit, 1333 * 3 bytes = 3999 bytes). A VARCHAR2(100 CHAR) column in an AL32UTF8 database will be internally defined as having the width of 400 bytes. It will hold up to any 100 Unicode characters.
    The above implies that the CHAR limit works optimally if it is lower than 4000/mchw. With such restriction, the CHAR limit guarantees that the defined number of characters will fit into the column. Because the widest character in any Oracle character set has 4 bytes, if x <= 1000, VARCHAR2(x CHAR) is guaranteed to hold up to x characters in any database character set.
    The declaration VARCHAR2(x):
    - for objects defined in SYS schema means VARCHAR2(x BYTE),
    - for objects defined in other schemas it means VARCHAR2(x BYTE) or VARCHAR2(x CHAR), depending on the value of the NLS_LENGTH_SEMANTICS parameter of the session using the declaration (see the NLS_SESSION_PARAMETERS view).
    After an object is defined, its BYTE vs CHAR semantics is stored in the data dictionary and it does not depend on the NLS_LENGTH_SEMANTICS any longer. Even Export/Import will not change this.
    Character length semantics rules are valid for table columns and for PL/SQL variables.
    -- Sergiusz

  • Char * to byte[]

    suppose i have a char * being passed into a C function. I then want to convert that to a byte[] to pass into my JNI call, which is done in the same function. how do i do that? i have tons of ideas, but i can't get them to coagulate. thanks

    JNI gives you functions for constructing java arrays. The function you are after is
    jbyteArray NewByteArray(env, length);
    Once you have done this, you should be able to loop through the char* and the byte array, populating the array.
    There is a certain amount of handwaving in this explanation. You will have to read up on accessing array elements.
    A good book on all this JNI stuff is
    essential JNI, by Rob Gordon.

Maybe you are looking for