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

Similar Messages

  • 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)

  • 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

  • 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

  • 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

  • How many lines we can print using Non-alv report list ?

    Hi Experts,
    How many lines we can print using Non-alv report list ?
    regards
    vishnu

    Hi,
    It depends on the page size according to the page size we can set the no. of lines as follows,
    REPORT  program_name   NO STANDARD PAGE HEADING
    LINE-SIZE 290
    LINE-COUNT 65.
    Hope it helps you,
    Regards,
    Abhijit G. Borkar

  • 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

  • How can i add formula to waveform data type?

    I want to interpolate my acquired data in terms of voltage to temperature. For this i need to use polynomial equation, but i am not able to directly attach formula node to the waveform data type. I want to know how can i add formula node to waveform data, and then also have it real time.

    One additional thought that may be helpful. Once you get the Y component of the waveform graph you are going to attempt to wire this into a formula node. You can do one of two things with that array. Put a for loop around the formula node and index the array into and out of the for loop. This allows you to do scalar math on the data. It is also possible to index and array in a formula node. The following KnoledgeBase demonstrates how to do this: http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/9d72b6069346942386256a0d00604ed4?OpenDocument

  • How I can set the Non-standard option of -Xmxn of jvm

    Hi there,
    Can any one tell me how I can set the Non-standard option of -Xmxn of jvm (setp by step).Iam using Sun's jvm(jdk1.2.2).Iam facing a error(java.lang .OutOfMemory).I want to set the maximum size of the memory allocation pool.Any help will be highly appreciated.
    Thanks for ur valuable Time
    Bikash

    you can use the following sample options to specify memory size.
    EX:java -Xms128mb -Xmx512mb myClassFile

  • How to use clob or blob data type in OWB

    how to use clob or blob data type in OWB?
    if OWB not surport these data type,how can i extract the large data type from data source

    The same question was asked just two days ago No Data Found: ORA-22992
    Nikolai Rochnik

  • CFHTTP GET using non-standard ports

    I have an application which goes out and checks links on
    various servers to verify that the link still exists, however I
    have a few links on servers that use non-standard ports (ie 8001,
    7072, 8080, etc). When I dump CFHTTP I get the following:
    struct
    Charset [empty string]
    ErrorDetail I/O Exception: Premature EOF encountered
    Filecontent Connection Failure
    Header [undefined struct element]
    Mimetype Unable to determine MIME type of file.
    Responseheader struct [empty]
    Statuscode Connection Failure. Status code unavailable.
    Text YES
    Any ideas?
    Thanks.
    Mike

    Yup, FaceTime was set up on all devices using my home network. It functions correctly pretty much everywhere except on my internal network at the office.
    I'm pretty sure this is a firewall issue, not a basic FaceTime problem.

  • 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

Maybe you are looking for