Error serializing non-built in data type

hi
I am getting the following exception while accessing a webservice which uses non-built-in
data types as parameter to the service method
Its called ProcessingOrderTO.
The ProcessingOrderTO has three sub-types.. one of which is a Collection
Does anybody encountred this before
I have also attch the WSDL generated .
I am using wls81 SP1
thanks
jas
java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SOAPException:
failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection class context=TypedClassContext{schemaType=['java:language_builtins.util']:Collection};
nested exception is:
javax.xml.soap.SOAPException: failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection class context=TypedClassContext{schemaType=['java:language_builtins.util']:Collection}
javax.xml.soap.SOAPException: failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection class context=TypedClassContext{schemaType=['java:language_builtins.util']:Collection}
at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:619)
at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:444)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:430)
at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:270)
at mypackage.orderprocessing.processing.client.OrderProcessingAssemblerXDBeanPort_Stub.processOrder(OrderProcessingAssemblerXDBeanPort_Stub.java:45)
at mypackage.orderprocessing.processing.client.Client.main(Client.java:69)
[OrderProcessingAssemblerXDBean.wsdl]

Hi Mik
Thanks for these suggestions.I have now completely moved to specific types, instead
of the Collections and ArrayList.
Things seem to be working fine ....thanks for all your help
thanks
jas
"Michael Wooten" <[email protected]> wrote:
>
Hi Jas,
My mistake. I copied the code from a DII client and you are using a Stub
one :-)
The correct code is:
TypeMappingRegistry registry = service.getTypeMappingRegistry();
Where the service variable is what was returned from your XXX_Impl()
call.
You don't have to cast anything, because the object returned from that
method
already extends javax.xml.rpc.Service.
w.r.t. you "moreover" text:
As long as the definition of the non-built-in types is the same as the
WSDL you
sent earlier, you shouldn't have a problem. The question I have is why
are you
a using java.util.Collection object on a web service operation's method
signature,
in the first place? When you do this, you do to things:
1. Producing WSDL that has xsd:anyType for element types. xsd:anyTypes
are fine
for defining XML grammars (i.e. WSDL, SOAP, etc.), but they add too much
mystery
to a business service. They basically tell the WSDL consumer, "the content
of
this element can be anything, so you'll have to figure out what it is
when you
get it. Hee, hee, hee!"
2. Introducing Java-specific classes into your web service. If the extrasList
element always contains the same type of elements, the type for it should
be an
array of whatever that object is. If you used an ArrayList because you
don't know
how many elements this will be, you can still use it in the implementation,
and
call the toArray() method to return a typed array.
To me, it just seems wrong to use Java container objects (i.e. ArrayList,
Collection,
HashMap, Set, etc.) in a web service operation's method signature, because
it
goes against the "programming language agnostic" idea of web services
:-) Just
my two cents.
Regards,
Mike Wooten
"jas" <[email protected]> wrote:
hi Michael
thanks for the reply ..
I tried using the smippet below .. but instead got a ClassCast Exception
at
TypeMappingRegistry registry = ((Service) port).getTypeMappingRegistry();
Moreover
1. When i generate client-jars using the clientgen task, the definition
of my
non-built-in types is different ...
2.
thanks
jas
"Michael Wooten" <[email protected]> wrote:
Hi Jas,
From the stack trace, it looks like you are using a JAX-RPC stub client.
Our java.util.Collection
serializer/deserializer is assigned to the "java:language_builtins.util"
namespace,
so you'll need to register the ArrayList and Collection in the TypeMappingRegistry.
Here's a code snippet:
import java.util.ArrayList;
import java.util.Collection;
import javax.xml.soap.SOAPConstants;
import javax.xml.namespace.QName;
import javax.xml.rpc.Service;
import javax.xml.rpc.encoding.TypeMapping;
import javax.xml.rpc.encoding.TypeMappingRegistry;
import weblogic.xml.schema.binding.internal.builtin.JavaUtilArrayListCodec;
import weblogic.xml.schema.binding.internal.builtin.JavaUtilCollectionCodec;
TypeMappingRegistry registry = ((Service)port).getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(SOAPConstants.URI_NS_SOAP_ENCODING
mapping.register(
     ArrayList.class,
     new QName("java:language_builtins.util", "ArrayList"),
     new JavaUtilArrayListCodec(),
     new JavaUtilArrayListCodec()
mapping.register(
     Collection.class,
     new QName("java:language_builtins.util", "Collection"),
     new JavaUtilCollectionCodec(),
     new JavaUtilCollectionCodec()
//invoke the web service operation that uses the ArrayList and Collection
There use to be a problem were the type mapping information in the
MyServiceClient.jar
(the one that the clientgen Ant task produces), was incorrect, butI
think this
was fixed well before WLS 8.1 :-)
I haven't tested the above with WLS 8.1 SP 1, but I think it may fix
the problem
you are having.
BTW:
JavaUtilArrayListCodec and JavaUtilCollectionCodec are in ${WL_HOME}/server/lib/webserviceclient.jar.
Regards,
Mike Wooten
"jas" <[email protected]> wrote:
hi
I am getting the following exception while accessing a webservice
which
uses non-built-in
data types as parameter to the service method
Its called ProcessingOrderTO.
The ProcessingOrderTO has three sub-types.. one of which is a Collection
Does anybody encountred this before
I have also attch the WSDL generated .
I am using wls81 SP1
thanks
jas
java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SOAPException:
failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection classcontext=TypedClassContext{schemaType=['java:language_builtins.util']:Collection};
nested exception is:
javax.xml.soap.SOAPException: failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection classcontext=TypedClassContext{schemaType=['java:language_builtins.util']:Collection}
javax.xml.soap.SOAPException: failed to serialize class mypackage.orderprocessing.processing.to.ProcessingOrderTOweblogic.xml.schema.binding.SerializationException:
mapping lookup failure. class=interface java.util.Collection classcontext=TypedClassContext{schemaType=['java:language_builtins.util']:Collection}
at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:619)
at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:444)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:430)
at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:270)
at mypackage.orderprocessing.processing.client.OrderProcessingAssemblerXDBeanPort_Stub.processOrder(OrderProcessingAssemblerXDBeanPort_Stub.java:45)
at mypackage.orderprocessing.processing.client.Client.main(Client.java:69)

Similar Messages

  • JAX-RPC - dynamic wsdl - non-built-in data types

    I thought my recent exp with developing a JAX-RPC client using a dynamic wsdl to communicate to a non-weblogic Web Service might help somebody out there. :-)
    JAX-RPC Mechanism in Weblogic for dynamic_wsdl seems to work only with built-in data types. Weblogic also supports non-built-in data types, but you need to do some extra work! For the user-defined objects, you need to generate their types and register them.
    Note: The samples given in Weblogic 8.1 do not use non-built-in data types!
    Make sure you use the ant task "autotype" in your build.xml to generate the appropriate types (objects to support java-xml and xml-java converstion), types.xml from the wsdl. Register the types.xml file in your calling client code.
    If you do not use register the types for the user-defined classes used in the web services method signatures, then you are likely to get the foll. exception.
    javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    C:\Tutorial\WS\dynamic_wsdl>ant run
    Buildfile: build.xml
    run:
    [java] Creating the service...
    [java] Creating the call...
    [java] invoking the call....
    [java] javax.xml.rpc.JAXRPCException: failed to invoke operation 'getStock' due to an error in
    the soap layer (SAAJ); nested exception is: Message[ failed to serialize interface javax.xml.soap.SO
    APElementweblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface
    javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.ws
    dlgen.jipilot.vodafone.com']:getStock}]StackTrace[
    [java] javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementw
    eblogic.xml.schema.binding.SerializationException: mapping lookup failure. class=interface javax.xml
    .soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVodafonePooled.wsdlgen.jipi
    lot.vodafone.com']:getStock}
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
    [java] at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
    [java] at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:645)
    [java] at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
    [java] at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Caused by: weblogic.xml.schema.binding.SerializationException: mapping lookup failure. c
    lass=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://svcVod
    afonePooled.wsdlgen.jipilot.vodafone.com']:getStock}
    [java] at weblogic.xml.schema.binding.RuntimeUtils.lookup_serializer(RuntimeUtils.java:151)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:187)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:174)
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:324)
    [java] ... 9 more
    [java] ]
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:578)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at Main.main(Main.java:61)
    [java] Exception in thread "main"
    [java] Java Result: 1

    The foll. code worked fine for me in Weblogic 8.1 SP3, on Windows 2000.
    Note: the 2 important lines of code:
    TypeMappingRegistry registry service.getTypeMappingRegistry();
    registry.registerDefault(new DefaultTypeMapping("types.xml"));
    package auth;
    import java.net.URL;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.encoding.TypeMapping;
    import javax.xml.rpc.encoding.TypeMappingRegistry;
    import weblogic.webservice.core.encoding.stream.SOAPElementCodec;
    import javax.xml.rpc.encoding.*;
    import weblogic.webservice.encoding.DefaultTypeMapping;
    public class DClient1 {
    static private void print(String msg) {
         System.out.println("DClient1: " + msg);
    public static void main(String[] argv) throws Exception {
    System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
    System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
    ServiceFactory factory = ServiceFactory.newInstance();
    String targetNamespace = "http://www.vishwa.com/amazingworld";
    QName serviceName = new QName(targetNamespace, "GeminiPasswordService");
    QName portName = new QName(targetNamespace, "GeminiPasswordServicePort");
    QName operationName = new QName("", "checkPassword");
    URL wsdlLocation = new URL("http://localhost:7001/GeminiPasswordService/GeminiPasswordService?WSDL");
         print("Creating the service...");
    Service service = factory.createService(wsdlLocation, serviceName);
         print("Creating the call...");
    Call call = service.createCall(portName, operationName);
         TypeMappingRegistry registry = service.getTypeMappingRegistry();
         registry.registerDefault(new DefaultTypeMapping("types.xml"));
         print("invoking the call....");
    Object[] inParams = new Object[2];
    inParams[0] = "clark1";
    inParams[1] = "kent1";
    Object result = call.invoke(inParams);
    print("Client return value: = " + result.toString());
    QName operationName1 = new QName("", "getBook");
    print("Creating the call...");
    Call call1 = service.createCall(portName, operationName1);
    print("invoking the call....");
    Name n = new Name();
         n.setFirstname("Walker");
         n.setAge(50);
         Object[] inParams1 = new Object[1];
         inParams1[0] = n;
    Book b = (Book) call1.invoke(inParams1);
    print("author: " + b.getAuthor());
    print("money: " + b.getMoney());
    }

  • Accessing Non-Built-In Data Types  webservice??

    While trying to inoke a webservice, which takes in non-built-in data types, the
    following EXCEPTION is thrown.
    [java] javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementweblogic.xml.schema.binding.SerializationException:
    mapping lookup failure. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://www.jay.com/com/jay/obsoon/orderstatus']:DoOBSStat
    usWebService}
         While trying to inoke a webservice, which takes in non-built-in data types,
    ERROR is thrown.
         [java] Calling Web Service at: ServiceImpl[
    [java] WebService[
    [java] name=DoOBSStatusWebService,
    [java] javax.xml.rpc.JAXRPCException: failed to invoke operation 'checkJavaObjects'
    due to an error in the soap layer (SAAJ); nested exception is: Message[ failed
    to serialize interface javax.xml.soap.SOAPElementweblogic.xml.schema.binding.SerializationException:
    mapping lookup failure. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://www.jay.com/com/jay/obsoon/orderstatus']:DoOBSStatusWebService}]StackTrace[
    [java] targetNamespace=http://www.jay.com/com/jay/obsoon/orderstatus,
    [java] protocol=http,
    [java] ]
    [java] ]
    [java] javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementweblogic.xml.schema.binding.SerializationException:
    mapping lookup failure. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://www.jay.com/com/jay/obsoon/orderstatus']:DoOBSStat
    usWebService}
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
    [java] at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
    [java] at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:645)
    [java] at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
    [java] at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    [java] at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at com.jay.obsoon.orderstatus.Client.example(Client.java:87)
    [java] at com.jay.obsoon.orderstatus.Client.main(Client.java:40)
    [java] Caused by: weblogic.xml.schema.binding.SerializationException: mapping
    lookup failure. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://www.jay.com/com/jay/obsoon/orderstatus']:DoOBS
    StatusWebService}
    [java] at weblogic.xml.schema.binding.RuntimeUtils.lookup_serializer(RuntimeUtils.java:151)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:187)
    [java] at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:174)
    [java] at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:324)
    [java] ... 10 more
    [java] ]
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:578)
    [java] at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
    [java] at com.jay.obsoon.orderstatus.Client.example(Client.java:87)
    [java] at com.jay.obsoon.orderstatus.Client.main(Client.java:40)
    [java] Exception in thread "main"
    [java] Java Result: 1
    CLIENT CODE:
    package com.jay.obsoon.orderstatus;
    import javax.xml.rpc.Call;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.Service;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.encoding.*;
    import java.io.*;
    public class Client
         private static String TARGET_NAMESPACE = "http://www.jay.com/com/jay/obsoon/orderstatus";
         private static QName xsdString = new QName("http://www.w3.org/2001/XMLSchema",
    "string");
         public static void main(String[] args) throws Exception
              System.setProperty("javax.xml.soap.MessageFactory", "weblogic.webservice.core.soap.MessageFactoryImpl");
              System.setProperty( "javax.xml.rpc.ServiceFactory", "weblogic.webservice.core.rpc.ServiceFactoryImpl");
         Client client = new Client();
              String wsdl = (args.length > 0? args[0] : null);
              client.example(wsdl);
         public void example(String wsdlURI) throws Exception
              ServiceFactory factory = ServiceFactory.newInstance();
              QName serviceName = new QName(TARGET_NAMESPACE, "DoOBSStatusWebService");
              QName portName = new QName(TARGET_NAMESPACE, "DoOBSStatusWebServicePort");
              QName operationName = new QName("checkJavaObjects");
              Service service = factory.createService(serviceName); System.out.println("Calling
    Web Service at: "+ service);
              TypeMappingRegistry tmr = service.getTypeMappingRegistry();
              TypeMapping tm = (TypeMapping)tmr.createTypeMapping();
              tm.register(Order.class, serviceName, new com.jay.obsoon.orderstatus.OrderCodec(),
    new com.jay.obsoon.orderstatus.OrderCodec());
              Call call = service.createCall();
              call.setPortTypeName(portName);
              call.setOperationName(operationName);
              call.setTargetEndpointAddress(wsdlURI);
              call.addParameter( "order", serviceName, ParameterMode.INOUT );
              call.setReturnType( XMLType.XSD_STRING );
              Order order = new Order();
              order.setOrderID("ABC");
              order.setOrderDate("05182004");
              log("Hope:" + call.invoke( new Object[] { order } ));
         private static void log(String s)
              System.out.println(s);
    Please let me know what wrong am i doing while accessing the webservice.
    Thanks
    Jay

    Hi Naichen,
    You're going to need to register some type mappings in your client code :-)
    To know which ones, you should examine the <your-service-name>.xml file, in the
    client proxy .JAR, which is produced by the clientgen Ant task. It should contain
    XML that looks something like this:
    <wsdd:type-mapping-entry xmlns:lcl0="http://www.openuri.org/"
    class-name="org.openuri.www.invoke"
    type="lcl0:invoke"
    serializer="org.openuri.www.invokeCodec"
    deserializer="org.openuri.www.invokeCodec">
    </wsdd:type-mapping-entry>
    <wsdd:type-mapping-entry xmlns:lcl0="http://www.openuri.org/"
    class-name="org.openuri.www.invokeResponse"
    type="lcl0:invokeResponse"
    serializer="org.openuri.www.invokeResponseCodec"
    deserializer="org.openuri.www.invokeResponseCodec">
    </wsdd:type-mapping-entry>
    You'll need to create type mapping calls in you client code that looks like this:
    import javax.xml.rpc.encoding.TypeMapping;
    import javax.xml.rpc.encoding.TypeMappingRegistry;
    import weblogic.webservice.core.encoding.stream.SOAPElementCodec;
    import weblogic.xml.xmlnode.XMLNode;
    import com.bea.xml.XmlObject;
    TypeMappingRegistry registry = service.getTypeMappingRegistry();
    TypeMapping typemapping = registry.getTypeMapping(SOAPConstants.URI_NS_SOAP_ENCODING
    typemapping.register(
         javax.xml.soap.SOAPElement.class,
         new QName("http://www.w3.org/2001/XMLSchema", "anyType"),
         new SOAPElementCodec(),
         new SOAPElementCodec()
    typemapping.register(
         javax.xml.soap.SOAPElement.class,
         new QName("http://www.openuri.org/", "YourXMLBeanClassDocument"),
         new SOAPElementCodec(),
         new SOAPElementCodec()
    YourRequestXMLBeanClassDocument request = null;
    YourResponseXMLBeanClassDocument response = null;
    // invoke operation
    try
         XMLNode xmlNodeResponse = (XMLNode)call.invoke(new Object[]{ asXMLNode(request)
         response = YourResponseXMLBeanClassDocument.Factory.parse(xmlNodeResponse.toString());
         log("inStock(String,Call)", "response.xmlText()=\n" + response.xmlText());
    catch (Exception e)
         e.printStackTrace();
    private static XMLNode asXMLNode(XmlObject xmlObject) throws Exception
         XMLNode xmlNode = new XMLNode();
         xmlNode.read(xmlObject.newInputStream());
         return xmlNode;
    You may not have to do the type mapping for the invoke and invokeResponse types
    (or any type relating to an operation/operationResponse element), but I'm pretty
    sure you'll need to do it for the XMLBean types, used as input arguments (or return
    values) to the web service operations. Send me the WSDL, and .xml files from the
    client proxy .jar, if you can't figure things out from the info I've provided
    here. I'll send you back what the client code needs to look like, based on the
    contents of these two files :-)
    Regards,
    Mike Wooten
    "Naichen" <[email protected]> wrote:
    >
    I created one document style webservice by weblogic 81 sp2 workshop,
    both input
    and output to webservice are XML beans.
    When I tried call it with proxy jar file generated by weblogic, it works
    fine,
    When I tried to call it with javax.xml.rpc.Call.
    then I got the similar Exceptions, like
    javax.xml.soap.SOAPException: failed to serialize interface javax.xml.soap.SOAPElementweblogic.xml.schema.binding.SerializationException:
    mapping lookup failure. class=interface javax.xml.soap.SOAPElement class
    context=TypedClassContext{schemaType=['http://www.openuri.org/']:invoke}
         at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:328)
         at weblogic.webservice.core.DefaultPart.toXML(DefaultPart.java:297)
         at weblogic.webservice.core.DefaultMessage.toXML(DefaultMessage.java:645)
         at weblogic.webservice.core.ClientDispatcher.send(ClientDispatcher.java:206)
         at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:143)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
         at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
         at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
         at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
         at com.ual.rcc.wsclient.CommonClt.run(CommonClt.java:58)
         at com.ual.rcc.wsclient.CommonClt.main(CommonClt.java:65)
    Caused by: weblogic.xml.schema.binding.SerializationException: mapping
    lookup
    failure. class=interface javax.xml.soap.SOAPElement class context=TypedClassContext{schemaType=['http://www.openuri.org/']:invoke}
         at weblogic.xml.schema.binding.RuntimeUtils.lookup_serializer(RuntimeUtils.java:151)
         at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:187)
         at weblogic.xml.schema.binding.RuntimeUtils.invoke_serializer(RuntimeUtils.java:174)
         at weblogic.webservice.core.DefaultPart.invokeSerializer(DefaultPart.java:324)
         ... 10 more

  • WL-7 / clientgen task do not generate correct bean for non built-in data type

    The clientgen Ant task do not generate a correct JavaBean for this
    complexeType definition (returned by a web service method):
    extract from WSDL:
    <s:complexType name="MyBoggusType">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded"
    name="shouldBeAnArray" type="s0:OtherType " />
    </s:sequence>
    <s:attribute name="total" type="s:int" />
    </s:complexType>
    The generated JavaBean contains an int (for 'total') and a simple
    reference to an OtherType instance (for 'shouldBeAnArray').
    The 'shouldBeAnArray' attribute should be an array of OtherType?
    What's wrong?
    (The service is not implemented by me and I have few control on it)
    Is it a bug or a limitation?
    Should I write a Codec as a workaround?

    On Wed, 05 Feb 2003 17:28:40 +0100, Stephane Boisson wrote:
    Is it a bug or a limitation?
    Should I write a Codec as a workaround?This is a bug. It has been fixed in service pack 2. Refer to CR082308
    when contacting support if you need a patch against sp1. You could indeed
    write your own codec but it might be easier to just use the patch :)
    --Scott

  • Non-build-in-data type mapping error

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

    Hi,
    I started a new web service design using a pre-defined Schema. I created a schema project and use XML bean as my web service method parameter.
    It works fine in workshop test IDE. But when I deployed it and tried to generate client jar, it gave me Failed to do type mapping error.
    What steps I should do to fix this non-build-in data type problem?
    thanks
    May

  • SSIS Package : While Extracting Sharepoint Lookup column, getting error 'Cannnot convert between unicode and non-unicode string data types'

    Hello,
    I am working on one project and there is need to extract Sharepoint list data and import them to SQL Server table. I have few lookup columns in the list.
    Steps in my Data Flow :
    Sharepoint List Source
    Derived Column
    its formula : SUBSTRING([BusinessUnit],FINDSTRING([BusinessUnit],"#",1)+1,LEN([BusinessUnit])-FINDSTRING([BusinessUnit],"#",1))
    Data Conversion
    OLE DB Destination
    But I am getting the error of not converting between unicode and non-unicode string data types.
    I am not sure what I am missing here.
    In Data Conversion, what should be the Data Type for the Look up column?
    Please suggest here.
    Thank you,
    Mittal.

    You have a data conversion transformation.  Now, in the destination are you assigning the results of the derived column transformation or the data conversion transformation.  To avoid this error you need use the data conversion output.
    You can eliminate the need for the data conversion with the following in the derived column (creating a new column):
    (DT_STR,100,1252)(SUBSTRING([BusinessUnit],FINDSTRING([BusinessUnit],"#",1)+1,LEN([BusinessUnit])-FINDSTRING([BusinessUnit],"#",1)))
    The 100 is the length and 1252 is the code page (I almost always use 1252) for interpreting the string.
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • Column "A" cannot convert between unicode and non-unicode string data types

    I am following the SSIS overview video-
    https://secure.cbtnuggets.com/it-training-videos/series/microsoft-sql-server-2008-business-development/6143?autostart=true
    I have a flat file that i want to import the contents onto a SQL database.
    I created a Dataflow task, source file and oledb destination.
    I am getting the folliwung error -
    "column "A" cannot convert between unicode and non-unicode string data types"
    in the origin file the data type is coming as string[DT_STR] and in the destination object it is coming as "Unicode string [DT_WSTR]"
    I used a data conversion object in between, dosent works very well
    Please help what to do

    I see this often.
    Right Click on FlatFileSource --> Show Advanced Editor --> 'Input and Output Properties' tab --> Expand 'Flat File Source Output' --> Expand 'Output Columns' --> Select your field and set the datatype to DT_WSTR.
    Let me know if you still have issues.
    Thank You,
    Jay

  • Cannot convert between unicode and non-unicode string data types.

    I'm trying to copy the data from 21 tables in a SQL 2005 database to a MS Access database using SSIS. Before converting the SQL database from 2000 to 2005 we had this process set up as a DTS package that ran every month for years with no problem.  The only way I can get it to work now is to delete all of the tables from the Access DB and have SSIS create new tables each time. But when I try to create an SSIS package using the SSIS Import and Export Wizard to copy the SQL 2005 data to the same tables that SSIS itself created in Access I get the "cannot convert between unicode and non-unicode string data types" error message. The first few columns I hit this problem on were created by SSIS as the Memo datatype in Access and when I changed them to Text in Access they started to work. The column I'm stuck on now is defined as Text in the SQL 2005 DB and in Access, but it still gives me the "cannot convert" error.

    I was getting same error while tranfering data from SQL 2005 to Excel , but using following method i was able to tranfer data. Hopefully it may also help you.
    1) Using Data Conversion transformation
       data types you need to select is DT_WSTR (unicode in terms of SQL: 2005)
    2) derived coloumn transformation
       expression you need to use is :
        (DT_WSTR, 20) (note : 20 can be replace by your character size)
    Note:
    Above teo method create replica of your esting coloumn (default name will be copy of <coloumn name>).
    while mapping data do not map actual coloumn to the destination but select the coloumn that were created by any of above data transformer (replicated coloumn).

  • How to fix "cannot convert between unicode and non-unicode string data types" :/

    Environment: SQL Server 2008 R2
    Introduction:Staging_table is a table where data is being stored from source file. Individual and ind_subject_scores are destination tables.
    Purpose: To load the data from a source file .csv while SSIS define table  fields with 50 varchar, I can still transfer the data to the entity table/ destination and keeping the table definition.
    I'm getting validation error "Cannot convert between a unicode and a non-unicode string data types" for all the columns.
    Please help

    Hi ,
    NVARCHAR = DT_WSTR
    VARCHAR = DT_STR
    Try below links:
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/ed1caf36-7a62-44c8-9b67-127cb4a7b747/error-on-package-can-not-convert-from-unicode-to-non-unicode-string-type?forum=sqlintegrationservices
    http://social.msdn.microsoft.com/Forums/en-US/eb0d1519-4be3-427d-bd30-ae4004ea9e8d/data-conversion-error-how-to-fix-this
    http://technet.microsoft.com/en-us/library/aa337316(v=sql.105).aspx
    http://social.technet.microsoft.com/wiki/contents/articles/19612.ssis-import-excel-to-table-cannot-convert-between-unicode-and-non-unicode-string-data-types.aspx
    sathya - www.allaboutmssql.com ** Mark as answered if my post solved your problem and Vote as helpful if my post was useful **.

  • Unicode and non-unicode string data types Issue with 2008 SSIS Package

    Hi All,
    I am converting a 2005 SSIS Package to 2008. I have a task which has SQL Server as the source and Oracle as the destination. I copy the data from a SQL server view with a field nvarchar(10) to a field of a oracle table varchar(10). The package executes fine
    on my local when i use the data transformation task to convert to DT_STR. But when I deploy the dtsx file on the server and try to run from an SQL Job Agent it gives me the unicode and non-unicode string data types error for the field. I have checked the registry
    settings and its the same in my local and the server. Tried both the data conversion task and Derived Column task but with no luck. Pls suggest me what changes are required in my package to run it from the SQL Agent Job.
    Thanks.

    What is Unicode and non Unicode data formats
    Unicode : 
    A Unicode character takes more bytes to store the data in the database. As we all know, many global industries wants to increase their business worldwide and grow at the same time, they would want to widen their business by providing
    services to the customers worldwide by supporting different languages like Chinese, Japanese, Korean and Arabic. Many websites these days are supporting international languages to do their business and to attract more and more customers and that makes life
    easier for both the parties.
    To store the customer data into the database the database must support a mechanism to store the international characters, storing these characters is not easy, and many database vendors have to revised their strategies and come
    up with new mechanisms to support or to store these international characters in the database. Some of the big vendors like Oracle, Microsoft, IBM and other database vendors started providing the international character support so that the data can be stored
    and retrieved accordingly to avoid any hiccups while doing business with the international customers.
    The difference in storing character data between Unicode and non-Unicode depends on whether non-Unicode data is stored by using double-byte character sets. All non-East Asian languages and the Thai language store non-Unicode characters
    in single bytes. Therefore, storing these languages as Unicode uses two times the space that is used specifying a non-Unicode code page. On the other hand, the non-Unicode code pages of many other Asian languages specify character storage in double-byte character
    sets (DBCS). Therefore, for these languages, there is almost no difference in storage between non-Unicode and Unicode.
    Encoding Formats: 
    Some of the common encoding formats for Unicode are UCS-2, UTF-8, UTF-16, UTF-32 have been made available by database vendors to their customers. For SQL Server 7.0 and higher versions Microsoft uses the encoding format UCS-2 to store the UTF-8 data. Under
    this mechanism, all Unicode characters are stored by using 2 bytes.
    Unicode data can be encoded in many different ways. UCS-2 and UTF-8 are two common ways to store bit patterns that represent Unicode characters. Microsoft Windows NT, SQL Server, Java, COM, and the SQL Server ODBC driver and OLEDB
    provider all internally represent Unicode data as UCS-2.
    The options for using SQL Server 7.0 or SQL Server 2000 as a backend server for an application that sends and receives Unicode data that is encoded as UTF-8 include:
    For example, if your business is using a website supporting ASP pages, then this is what happens:
    If your application uses Active Server Pages (ASP) and you are using Internet Information Server (IIS) 5.0 and Microsoft Windows 2000, you can add "<% Session.Codepage=65001 %>" to your server-side ASP script.
    This instructs IIS to convert all dynamically generated strings (example: Response.Write) from UCS-2 to UTF-8 automatically before sending them to the client.
    If you do not want to enable sessions, you can alternatively use the server-side directive "<%@ CodePage=65001 %>".
    Any UTF-8 data sent from the client to the server via GET or POST is also converted to UCS-2 automatically. The Session.Codepage property is the recommended method to handle UTF-8 data within a web application. This Codepage
    setting is not available on IIS 4.0 and Windows NT 4.0.
    Sorting and other operations :
    The effect of Unicode data on performance is complicated by a variety of factors that include the following:
    1. The difference between Unicode sorting rules and non-Unicode sorting rules 
    2. The difference between sorting double-byte and single-byte characters 
    3. Code page conversion between client and server
    Performing operations like >, <, ORDER BY are resource intensive and will be difficult to get correct results if the codepage conversion between client and server is not available.
    Sorting lots of Unicode data can be slower than non-Unicode data, because the data is stored in double bytes. On the other hand, sorting Asian characters in Unicode is faster than sorting Asian DBCS data in a specific code page,
    because DBCS data is actually a mixture of single-byte and double-byte widths, while Unicode characters are fixed-width.
    Non-Unicode :
    Non Unicode is exactly opposite to Unicode. Using non Unicode it is easy to store languages like ‘English’ but not other Asian languages that need more bits to store correctly otherwise truncation will occur.
    Now, let’s see some of the advantages of not storing the data in Unicode format:
    1. It takes less space to store the data in the database hence we will save lot of hard disk space. 
    2. Moving of database files from one server to other takes less time. 
    3. Backup and restore of the database makes huge impact and it is good for DBA’s that it takes less time
    Non-Unicode vs. Unicode Data Types: Comparison Chart
    The primary difference between unicode and non-Unicode data types is the ability of Unicode to easily handle the storage of foreign language characters which also requires more storage space.
    Non-Unicode
    Unicode
    (char, varchar, text)
    (nchar, nvarchar, ntext)
    Stores data in fixed or variable length
    Same as non-Unicode
    char: data is padded with blanks to fill the field size. For example, if a char(10) field contains 5 characters the system will pad it with 5 blanks
    nchar: same as char
    varchar: stores actual value and does not pad with blanks
    nvarchar: same as varchar
    requires 1 byte of storage
    requires 2 bytes of storage
    char and varchar: can store up to 8000 characters
    nchar and nvarchar: can store up to 4000 characters
    Best suited for US English: "One problem with data types that use 1 byte to encode each character is that the data type can only represent 256 different characters. This forces multiple
    encoding specifications (or code pages) for different alphabets such as European alphabets, which are relatively small. It is also impossible to handle systems such as the Japanese Kanji or Korean Hangul alphabets that have thousands of characters."<sup>1</sup>
    Best suited for systems that need to support at least one foreign language: "The Unicode specification defines a single encoding scheme for most characters widely used in businesses around the world.
    All computers consistently translate the bit patterns in Unicode data into characters using the single Unicode specification. This ensures that the same bit pattern is always converted to the same character on all computers. Data can be freely transferred
    from one database or computer to another without concern that the receiving system will translate the bit patterns into characters incorrectly.
    https://irfansworld.wordpress.com/2011/01/25/what-is-unicode-and-non-unicode-data-formats/
    Thanks Shiven:) If Answer is Helpful, Please Vote

  • @ DATA ELEMENTS V/S BUILT IN DATA TYPES

    Hi,
    I have 15 fields in a custom table. All the fileds need to hav a definition of char- lt 2.
    But the Description i each differs only wrt to the NUMBER sequence.
    eg. level 1, level 2...level 15.
    Now what is a recommended way to go about it.
    Should we define 15 different DATA ELEMENTS for the same, resulting in 15 new objects in the dictionary.
    OR should I go in for a simple Built In data type.
    I know data elements have advantages when it comes to a. F4 help and Table Maintainance. Is the advantage so significant that we can do with 15 additional objects?
    Please Advice.

    hi Anand,
    there are hundred thousands of object in the Data Dictionary, so 15 won't harm much On the other hand, if you build up an ALV list based on this table, than it is good that you have these texts there with translations, etc.
    hope this helps
    ec

  • Column cannot convert between unicode and non-unicode string data types

    I am converting SSIS jobs from SQL Server 2005 running on a Windows 2003 server to 2008R2 running on a Windows 2008 server.&nbsp; I have a dataflow with an OLE DB Source which is selecting from an Oracle view.&nbsp; This of course worked fine in
    2005.&nbsp;&nbsp; This OLE DB Source will not even read the data from Oracle without the error "Column "UWI" cannot convert between unicode and non-unicode.  The select is:
    SELECT SOME_VIEW.UWI AS UWI,
                 CAST(SOME_VIEW.OIL_NET AS NUMERIC(9,8)) AS OIL_NET
    FROM SOME_SCHEMA.SOME_VIEW
    WHERE OIL_NET IS NOT NULL AND UWI IS NOT NULL
    ORDER BY UWI
    When I do "Show Advanced Editor" on this component, in the Input and Output Properties, I show the OLE DB External Column as DT_STR length 40 for the UWI column and for the Output Columns I see the UWI as the same DT_STR.
    How can I get past this?  I have tried doing a cast...cast(SOME_VIEW.UWI AS VARCHAR(40)) AS UWI and this gives the same error.  The column in Oracle is a varchar2(40).
    Any help is greatly appreciated.  Thanks.

    Please check the data type for UWI using advanced editor for Oledb Source under
    external columns and output columns. Are the data types same?
    If not, try changing the data type (underoutput columns) same as data type shown under
    external columns
    Nitesh Rai- Please mark the post as answered if it answers your question

  • LV 8.0.1 Bug, no error when unflattening mis-matched data type

    When unflattening a string and wiring a "type" that does not match the original format of the data, sometimes I don't get an error and I get no data. I've attached a VI written in 8.0.1 that illustrates 2 examples of this. In LV 7.1 these cases did return an error, but not in 8.0.1. Can anyone offer some insight or global solution?
    Thanks, Chip
    Attachments:
    LV 8 Bug, no error trapped on mismatched type when unflattening string.vi ‏23 KB

    Good afternoon,
    Well, this certainly is an interesting situation.  In the example “Unflatten string returns data
    from previous iterations”, the second iteration of the for loop unflattens a
    string as an array of strings type, this is obviously a type mismatch so if any
    data is returned I wouldn’t expect it to be valid.  What is even more interesting, is that if you
    don’t use the auto indexing, but rather explicitly index the array there is no
    error, but the data returned is like it was in 7.x.  I tried to use the flatten function’s
    “convert 7.x data function with no luck in either case.  I filed a bug report on this issue (number
    3X0CBC3A), but it seems to me the only workaround for now is going to be just
    making sure the types match.  I know this
    is going to be inconvenient for you, and for that I apologize.
    Incidentally, in many cases I wouldn’t necessarily expect an
    error to be generated if the types don’t match. 
    This is because the flatten to string function takes your data and
    converts it to a string which is nothing more than a byte[ ] of data with some
    size information.  When you “unflatten”
    the function takes the string it is given, and attempts to reconstruct the data
    in the format that is specified by the “type” input.  If it can reconstruct the data from type,
    regardless of the data returned I wouldn’t expect it to generate an error.  Sometimes, however, an error can be detected
    – if you flatten a double-precision number and unflatten to a single precision
    number LabVIEW can detect that the incoming data represents something much
    larger than a single precision number.  I
    suppose that LabVIEW 7 did a better job checking the size of the sting before
    deciding whether or not to generate an error.
    Again, I apologize for the problems this may cause.  Please let me know if there is anything else
    I can help with.
    Travis M
    LabVIEW R&D
    National Instruments

  • Error:  A newer version of data type was found than one required

    Hi Experts,
    we made a changes to a table and then transported the table to the quality system. But a program which is referring to this table, results in dump with the below error message.
    Error Message>>>>>>>>>>" A newer version of data type <TABLE> was found than one required "
    The issue occures inspite of
    1. re-activated the table and send to quality system
    2. Re-activated the program
    3. Activated and adjusted database in SE14.
    Please let me know the correction to be taken to resolve the issue.
    Regards
    Suresh Kumar

    This happens when you modify your new data element, domain while another program is currently using it.
    Simply get out completely of the program, re activate the program, reactivate the table. You might need to run se14 to convert the database table but this does not happen frequently. Try first to reactivate the program
    Dean
    Edited by: Dean Ton on Mar 8, 2012 9:54 PM
    Edited by: Dean Ton on Mar 8, 2012 9:56 PM

  • Can I use Non-standard XSD Data Types in my XSD; if so how?

    Please help if you can, this is a complex question, so bear with me.
    Also note that I am in Livecycle 8.2 ES (not ES2 or higher).
    I am working on creating XSD schemas to map to form objects.
    I have created one master schema document that is wired into multiple forms, and I have one separate schema for reusable form objects, that I refer to as a "common node".
    All of my individual form schemas are brought together in this one Master Schema via the use of include statements.
    EXAMPLE: This is like my Master Schema
    <?xml version="1.0" encoding="UTF-8"?>
    <!--W3C Schema written by Benjamin P. Lyons - Twin Technologies July 2010-->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" >
    <xs:include schemaLocation="./commonElementsNode.xsd" />
    <xs:include schemaLocation="./form1111.xsd" />
    <xs:include schemaLocation="./form2222.xsd" />
    <xs:include schemaLocation="./form3333.xsd" />
    <xs:element name="form">
    <xs:complexType>
      <xs:sequence>
       <xs:element ref="commonElementsNode" />
       <xs:element ref="form1111" />
       <xs:element ref="form2222" />
       <xs:element ref="form3333" />
      </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    This works fine.
    I can load this up in Designer in the Data View and everything appears in the Data View hierarchy correctly, with "form" as the top node.
    And as long as I use standard "xs:" data types - everything works great.  So if I go into LiveCycle Designer and I go to File --> Form Properties --> Preview --> Generate Preview Data and generate dummy XML data - it respects my XSD conventions.
    Now here is where the problem arises:
    In these schemas, I need to define the data types.
    The client I am working for needs me to use their data types.
    These data types are not standard xs: data types, like "xs:string" or "xs:date".
    Rather, the data types are ones that have been defined in other schemas and reserved to a namespace.
    For instance, rather than use xs:date I need to use something like:  "myns:DateType"
    This "myns:DateType" is defined as:
    <xs:complexType name="DateType">
      <xs:simpleContent>
       <xs:extension base="xs:date">
        <xs:attribute name="format" type="xs:string" use="optional">
         <xs:annotation>
          <xs:documentation xml:lang="en">
           <mydoc:Name>Date Format Text</mydoc:Name>
           <mydoc:Definition>The format of the date content</mydoc:Definition>
           <mydoc:PrimitiveType>string</mydoc:PrimitiveType>
          </xs:documentation>
         </xs:annotation>
        </xs:attribute>
       </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
    Note that I have redacted this data type slightly and changed the namespace to protect the anonymity of my client, but we can assume that their data type is valid and currently in use with other systems.
    It conforms to W3 standards.
    Note also how this type is an enumeration of the base type "xs:date".
    This is defined in a schema called something like "MyCoreTypes.xsd"
    There is a namespace reservation in this file that looks something like this:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"
    xmlns:myns="http://clinetname.com/schemas/mycoretypes" >
    So there is a name space reservation there.
    In my aforementioned "Master Schema" file, I have an include statement that looks like this:
    <xs:include namespace="http://clinetname.com/schemas/mycoretypes" schemaLocation="./MyCoreTypes.xsd" />
    (let's assume that the schema is in the same folder, as the Master Schema, so we can use the "./" relative path.)
    Now the problems is that in all my forms, where I have a myns:DateType (e.g.:  in form1111, a "Date of Birth" element that looks like this: <xs:element name="OwnerBirthDt" type="myns:DateType"/> ) the XSD is not respected when the XML dummy data is generated in LiveCycle Designer implying that the XSD's data types are not being recognized properly.
    Has anyone had this problem before?
    Is there a solution?
    Is it even possible to use these kind of include or import references in LiveCycle to define a data type other that the standard "xs:" data types?
    Please let me know - it would be greatly appreciated.
    I am more than willing to clarify the question further if others are willing to help.
    Thanks -
    Ben Lyons

    prf.kishorekumar wrote:
    i came here with a hope that I would definitely get some help.
    pls.. some one reply1) You got some help. No where do I see thanks or acknowledgment for the information given.
    2) Please remember that people on the forum help others voluntarily, it's not their job.
    3) Google can often help you here if the forum can't. Using Google I found this interesting link:
    http://today.java.net/pub/a/today/2004/05/24/html-pt1.html
    It discusses the Swing HTML EditorKit as well as some other free HTML renderers.
    Edited by: petes1234 on Oct 24, 2007 7:29 PM

Maybe you are looking for