JAXB anonymous complex types and inner interfaces

When JAXB generates interfaces/classes for a schema with nested anonymous complex types, it nests the resultant interfaces/classes. Is there any way to force JAXB to put these nested interfaces/classes at the top level of the package instead?
Note that if I specify a <class> binding, it changes the name of the inner interface/class, but doesn't change the fact that it's nested. It is my understanding that in JAXB Beta specifying a <class> binding for an anonymous complexType would in fact push it to the top level. Was this a bug, or is it a feature missing from 1.0, or am I misinformed about JAXB Beta?
I realize that scope-wise it makes sense to generate nested anonymous complex types as inner classes, however it leads to highly unreadable code when dealing with deeply nested structures. I'm hoping someone knows of a way to workaround this issue without simply redefining the anonymous complex types as named complex types.
Thanks,
-Greg Merrill

According to sec 4.4 "By default if xml schema component for which java content interface is to be generated is scoped within a complex type then the java content interface should appear nested within the content interface representing the complex type. ".
So I doubt that worked with beta and you may have to represent this anonymous complex type as a named complex type to avoid the nesting.
Regards,
Bhakti

Similar Messages

  • Human tasks, complex types and variable assignment.

    Hi folks,
    I encountered a problem while working with 10.1.3.1 which I haven't managed to solve yet and would be grateful for assistance. I have defined a complex data type (just a sequence of strings) and want to fill that data type by going through a flow of screens, e.g. through several human tasks. I have defined that type as a variable to the BPEL process and have managed to assign simple expressions to the variable and pass that into a Human Task. In the task I see now a simple input form for all attributes of the type.
    Now the problem. After I fill out the form and complete the human task, I have
    The global variable:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <vorname/>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    and the return value from the human task:
    <task>
         <title>CaptureData</title>-
              <payload>
                   <MyProcessResponse>
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </payload>
    </task>
    Now the only thing I would like to do is to replace the original values in the variable with the new values that have been returned from the task, this should be performed in an extra assign step. Sounds simple. JDeveloper wouldn't even let me klick through the return value from the HumanTask, so it seems as if I have to do things manually.
    These are my tries:
    Command 1:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload" />
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 1:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <ns0:MyProcessResponse xmlns="http://xmlns.oracle.com/bpel/workflow/task"     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                   <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </ns0:MyProcessResponse>
         </part>
    </outputVariable>
    --> There is one MyProcessResponse element too many
    Command 2:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse/ns1:vorname"/>
    </copy>
    Result 2:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <ns0:vorname xmlns="http://xmlns.oracle.com/bpel/workflow/task"                     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                        <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                             <vorname>David</vorname>
                             <nachname>Beckham</nachname>
                             <strasse>HighStreet</strasse>
                             <nummer/>
                             <postleitzahl/>
                             <stadt/>
                             <maximaleDauer/>
                             <minimaleDauer/>
                        </MyProcessResponse>
                   </ns0:vorname>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    --> This was moreless expected, since I tried to copy the stuff to some wrong place.
    Command 3:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload/ns0:MyProcessResponse"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 3:
    --> Task does't return (!!!). In the BPEL Worklist, the task is completed, however in the BPEL console it still apears as "waiting to return from Human task".
    Does anyone have a hint on how to copy the values so that I get exactly the structure that I printed at the very top?
    Thanks for help. Rock On !

    Hello everyone,
    It seems that we are talking about different things, I am afraid. Let me describe the scenario once again:
    - I want to have a BPEL process with more than one role involved
    - This process should be used to gather some complex data.
    - All data gathering should be done through HumanTasks.
    So I defined an xsd complex type, that contains a sequence of fields. This complex type should be part of the process payload.
    Now before HumanTask 1 is called, I copy the contents of this variable into the input for tasks1. This works fine and I see the appropriate values, when opening the Human Task in the BPEL worklist application.
    Now after HumanTask1 is completed, the values I entered inside that tasks are returned as a variable from the HumanTask. My problem is, that I cannot copy the contents of the task back into the main process. With simpleTypes this is relatively ok, since Jdev supports the assembling of the copy operation, however for complex tasks it fails.
    A typical scenario for this would be where e.g. a customer fills a shipping address and afterwards a store staff fills product details in the same order. In Java this could be solved via "pass by reference". Who can provide an example?

  • Need of datatype, message type and message interface

    hai
    can any one tell me..
    why we need three level heirarchy for a message in XI
    regards,
    Madhav

    Hi Madhav,
    let us recall them by their name and identify their roll.
    Data type : suppose that you want to form a message but that comprises of  many different types of data . as in numeric, string, characters.So at bottom you will have to define datatype.
    Message Type: having defined data type now you want to form a meaningful message and that message can be formed by combining many such different data types in to one message type.
    Message interface : No you have created message type but now that you want to use it some where, then you will have to interface it. So you will hace to define a message interface.
    Vishal
    Please reward with points for useful Help

  • Error Message like Illegal Start of Type,and Class interface and enum expec

    import java.applet.*;
    import java.awt.*;
    //Inheriting the Applet class with firstApplet class
    public class firstApplet extends Applet{
         private Button reset,submit;
         private TextArea addr;
         private TextField name,addr,sex,mar;
         Panel p=new Panel();
         Choice m_choice = new Choice();
         Label namel=new Label("Name");
         Label addrl=new Label("Address");
         Label sexl=new Label("Sex");
         Label marl=new Label("Maital");
         //In it function
    public void init()
         setLayout(new FlowLayout());
         add(m_choice);
         m_choice.addItem("Select Mode");
         m_choice.addItem("Create");
         m_choice.addItem("Edit");
         m_choice.addItem("Delete");
         m_choice.addItem("Search");
         add(namel);
         name=new TextField(20);
         add(name);
         add(addrl);
         addr=new TextArea(5,20);
         add(addr);
         add(sexl);
         sex=new TextField(10);
         add(sex);
         add(marl);
         mar=new TextField(20);
         add(mar);
         submit =new Button("Submit");
         add(submit);
         reset =new Button("Reset");
         add(reset);
         t=new TextField(30);
         add(t);
    public boolean action(Event e,Object o){
         if (e.target instanceof Button){
                   String s= (String)o;
                   if(s.equals ("Submit"))
                        t.setText("Error Occured While Saving to the database");
                   else if (s.equals("Reset")){
                        name.setText("");
                        addr.setText("");
                        sex.setText("");
                        mar.setText("");
                        t.setText("");}
                   return true;
         else
              return false;
    }I this program while compiling i am getting the above specified.This is the Code i used.At that Bolded else and return false lines are showing as error lines.Why this error is coming?Pls send help me with some hint,Because i am new to Java.

    Be consistent about your placement of {} and use of indentation. Sun's code
    conventions provide an example: http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html

  • JAXB: Marshalling complex nested data structures?

    Hello!
    I am dealing with complex data structures:
    Map< A, Set< B > >
    Set< Map< A, B > >
    Map< A, Map< B, Set< C > > >
    Map< A, Set< Map< B, C > > >
    [and so on](NOTE: In my case it doesn't matters if I use Set<?> or List<?>)
    I wanted to write wrappers for JAXB for these data structures, but I have no idea how.
    My idea was: write XmlAdapter with generics for Map, Set and List, but it failed:
    "[javax.xml.bind.JAXBException: class java.util.LinkedList nor any of its super class is known to this context.]"
    because I was using LinkedList<T> inside the XmlAdapter (it seems that from the point of view of JAXB,
    LinkedList<T> is same as LinkedList<Object>)
    Any ideas?

    According to sec 4.4 "By default if xml schema component for which java content interface is to be generated is scoped within a complex type then the java content interface should appear nested within the content interface representing the complex type. ".
    So I doubt that worked with beta and you may have to represent this anonymous complex type as a named complex type to avoid the nesting.
    Regards,
    Bhakti

  • Web Service + Complex Type + Java Studio Creator

    Hy all!!
    I am using Ubuntu 7.04 + Java Studio Creator 2 and i'm trying to use a webservice.
    This webservice uses a Complex Type and was made in PHP.
    I guarantee that this webservice is working with complex type because i've tested using a PHP client.
    I have already worked with others webservices in Java Studio Creator using simple types!
    So I went to Add Web Service, put the wsdl link, Get Web Service Information and then Test Method that uses Complex Type.
    Then I gave a input value and when I submit i got this error:
    InvocationTargetException com.sun.rave.websvc.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:459) com.sun.rave.websvc.ui.TestWebServiceMethodDlg$MethodTask.run(TestWebServiceMethodDlg.java:1031) java.lang.Thread.run(Thread.java:595) null sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) com.sun.rave.websvc.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:450) com.sun.rave.websvc.ui.TestWebServiceMethodDlg$MethodTask.run(TestWebServiceMethodDlg.java:1031) java.lang.Thread.run(Thread.java:595) Runtime exception; nested exception is:
    [failed to localize] nestedDeserializationError([failed to localize] xmlreader.unexpectedState(END, START: nome))
    com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(StreamingSender.java:318) com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:300) webservice.Grs_PortType_Stub.buscarCompleto(Grs_PortType_Stub.java:122) webservice.grs.grsClient.buscarCompleto(grsClient.java:36) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) com.sun.rave.websvc.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:450) com.sun.rave.websvc.ui.TestWebServiceMethodDlg$MethodTask.run(TestWebServiceMethodDlg.java:1031) java.lang.Thread.run(Thread.java:595)
    [failed to localize] nestedDeserializationError([failed to localize] xmlreader.unexpectedState(END, START: nome))
    com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:233) com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:155) webservice.Grs_buscarCompleto_ResponseStruct2_SOAPSerializer.doDeserialize(Grs_buscarCompleto_ResponseStruct2_SOAPSerializer.java:43) com.sun.xml.rpc.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:192) com.sun.xml.rpc.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:155) webservice.Grs_PortType_Stub._deserialize_buscarCompleto(Grs_PortType_Stub.java:186) webservice.Grs_PortType_Stub._readFirstBodyElement(Grs_PortType_Stub.java:160) com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:215) webservice.Grs_PortType_Stub.buscarCompleto(Grs_PortType_Stub.java:122) webservice.grs.grsClient.buscarCompleto(grsClient.java:36) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) com.sun.rave.websvc.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:450) com.sun.rave.websvc.ui.TestWebServiceMethodDlg$MethodTask.run(TestWebServiceMethodDlg.java:1031) java.lang.Thread.run(Thread.java:595)
    Any help would be appreciated!
    Thanks a lot!
    Mario Mol

    Have you seen this?
    http://developers.sun.com/jscreator/reference/techart/2/create_consume_web_services.html
    Also have you tried the latest and coolest IDE Netbeans 6?
    It includes all the features of Creator plus lots more.
    Thanks
    K

  • Mapping Complex Types in a UDF

    Hi,
    I have a big text file that is very messed up that I need to clean up. I'm doing this clean up in a UDF. When doing the mapping, i would like to cater for the whole complex type and not just the individual nodes. Is this possible, and if so how?
    Thank you

    Hi,
    I would not recommend this doing in udf because it would be tedious. Also how will you read the whole complex file into one field when you also have other fields? May be if you can give the file here and tell us what you are trying to do then somebody can tell a design or an approach. Else if you feel that you cannot handle it in udf then you can try other mappings.
    Regards,
    ---Satish

  • Complex types arrays in webservices using custom codec

    In WLS8.1, I use the arrays serializing classes generated by the "servicegen" task,
    for the arrays of a complex type, and I register to the TypeMapping registry
    the complex type specifying as serializer/deserializer the custom codec that I
    developed. (The custom codec extends the AbstractCodec class)
    The problem occurs when I try to execute a service that has like return type an
    array of my complex type. In fact the response envelope is incorrectly built,
    containing before the tag result(that includes at his turn, the serialized array)
    once again the array serialized.
    So at the parsing time of the envelope, the following error occurs:
    … But was not able to find a Part that is registered with this Message which corresponds
    to this SOAPElement. The name of the element should be one of these[simpleTypeBDTs]
    at weblogic.webservice.core.DefaultMessage.toJava(DefaultMessage.java:445)
    at weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.java:74)
    at weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.java:125)
    at weblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:513)
    at weblogic.webservice.server.Dispatcher.process(Dispatcher.java:150)
    at weblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:125)
    at weblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:74)
    at weblogic.webservice.server.WebServiceManager.dispatch(WebServiceManager.java:98)
    at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebServiceServlet.java:274)
    at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:393)
    at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServlet.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6291)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: Exception
    during processing: javax.xml.soap.SOAPException: Found SOAPElement
    that seems to be normally because the encountered tag is not the result tag like
    expected, but the starting tag of the first element of the resulted array.
    It’s the correct way, the way I used? For my complex type is imperative to use
    a custom codec, because my complex types are the nested complex types.

    I opened a case to bea support, (case 426018 ) but I didn't obtain the solution
    till now.
    If you can access the case at the support.bea.com site, it contains a simple
    test case explaining my problem.
    regards,
    mihaela
    "manoj cheenath" <[email protected]> wrote:
    In fact the response envelope is incorrectly built,
    containing before the tag result(that includes at his turn, the serializedarray)
    once again the array serialized.I suspect this is due to a bug in 8.1 and it is fixed since. Please
    contact support for a patch.
    For my complex type is imperative to use
    a custom codec, because my complex types are the nested complex types.WLS can handle nested complex types. You need not write
    custome codec to handle this case.
    Regards,
    -manoj
    http://manojc.com
    "miki tirnacop" <[email protected]> wrote in message
    news:[email protected]...
    In WLS8.1, I use the arrays serializing classes generated by the"servicegen" task,
    for the arrays of a complex type, and I register to the TypeMappingregistry
    the complex type specifying as serializer/deserializer the custom codecthat I
    developed. (The custom codec extends the AbstractCodec class)
    The problem occurs when I try to execute a service that has like returntype an
    array of my complex type. In fact the response envelope is incorrectlybuilt,
    containing before the tag result(that includes at his turn, the serializedarray)
    once again the array serialized.
    So at the parsing time of the envelope, the following error occurs:
    . But was not able to find a Part that is registered with this Messagewhich corresponds
    to this SOAPElement. The name of the element should be one ofthese[simpleTypeBDTs]
    atweblogic.webservice.core.DefaultMessage.toJava(DefaultMessage.java:445)
    atweblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHandler.j
    ava:74)
    atweblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainImpl.jav
    a:125)
    atweblogic.webservice.core.DefaultOperation.process(DefaultOperation.java:513)
    at weblogic.webservice.server.Dispatcher.process(Dispatcher.java:150)
    atweblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:125)
    at weblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:74)
    atweblogic.webservice.server.WebServiceManager.dispatch(WebServiceManager.java
    :98)
    atweblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke(WebSer
    viceServlet.java:274)
    atweblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.java:393)
    atweblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServiceServle
    t.java:244)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
    tStubImpl.java:1053)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :387)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :305)
    atweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
    ebAppServletContext.java:6291)
    atweblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
    t.java:317)
    atweblogic.security.service.SecurityManager.runAs(SecurityManager.java:97)
    java.rmi.RemoteException: SOAPFault:javax.xml.rpc.soap.SOAPFaultException: Exception
    during processing: javax.xml.soap.SOAPException: Found SOAPElement
    that seems to be normally because the encountered tag is not the resulttag like
    expected, but the starting tag of the first element of the resultedarray.
    It's the correct way, the way I used? For my complex type is imperativeto
    use
    a custom codec, because my complex types are the nested complex types.

  • Reading complex types of a Web Service  using Axis.

    Hi,
      I am trying to read a WSDL using AXis APIs. Lets say I use this WSDL.
    http://www.dataaccess.com/webservicesserver/conversions.wso?WSDL
      This contains 3 complex types and 7 simple types.
    SymbolTable symbolTable = wsdlParser.getSymbolTable();
    BindingEntry bEntry =  symbolTable.getBindingEntry(binding.getQName());
    Collection c = bEntry.getParameters().values();
        Now when I read through the collection I get only 7 simple types contained in the complex types. Can I read the complex types only when they are registered. I expect this to be available because the parser is expected to read the WSDL. I get only these types.
         Urgent !! So please help !!
          (java.util.HashMap$Values) [
    returnParam = (QName:         string
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , NumberToWordsResult, OUT)
    faults = {}
    signature = null
    (inputs, inouts, outputs) = (1, 0, 1)
    list = [(QName:         unsignedLong
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , ubiNum, IN)],
    returnParam = (QName:         string
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , TitleCaseWordsResult, OUT)
    faults = {}
    signature = null
    (inputs, inouts, outputs) = (2, 0, 1)
    list = [(QName:         string
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , sText, IN), (QName:         string
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , sToken, IN)],
    returnParam = (QName:         string
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , NumberToDollarsResult, OUT)
    faults = {}
    signature = null
    (inputs, inouts, outputs) = (1, 0, 1)
    list = [(QName:         decimal
    name:          null
    isReferenced?  true
    Class:         org.apache.axis.wsdl.symbolTable.BaseType
    Base?:         true
    Undefined?:    false
    isSimpleType?  false
    Node:          null
    Dims:         
    isOnlyLiteralReferenced: false
    RefType:       null
    , dNum, IN)]]

    Hi Shiva
    just check the following link
    http://wiki.apache.org/ws/FrontPage/Axis/StaticDeployment
    thanks & regards
    Shishir Shah

  • Mixing ESR Data type and XSD Objects

    Dear PI forum users,
    I have created some XSD containing complex types and thus "acting" as data types.
    I would like to use such a complex type defined in XSD in an ESR Data type object.
    But when I use the search help in the type column, i can only see other data types objects and not complex types defined in External definition objects.
    Do you know if what I want to do is possible and how ?
    Thanks a lot.
    Jean-Charles

    Hi,
    i can only see other data types objects and not complex types defined in External definition objects.
    This is because only datatypes are shown in the search help. It is not possible to reference an external definition in a data type.
    What you can do is:
    1.) Recreate the complex types found your external definition as a data type, and reference it in your main data type
    or
    2.) Encode the data types into your external definition (cleaner)
    Hope this helps,

  • How can I fill a set parameters of a complex type?

    Hi,
    I have a webservice that needs three complex types. I try to fill these complex types and add them to the Complex type param. This is my code:
    ComplexType_BAPI_SALESORDER_CREATEFROMDAT1 param = new ComplexType_BAPI_SALESORDER_CREATEFROMDAT1();     
              BAPISDHEAD bapishead = new BAPISDHEAD();
                                                                                                                       //adding the parameters
              bapishead.setBILL_BLOCK("");                         bapishead.setCD_CU_ISO1("");
              msgMgr.reportSuccess("bapishead "+bapishead.getSALES_ORG());
              param.setORDER_HEADER_IN(bapishead);
              msgMgr.reportSuccess("orderHeadersin"+param.getORDER_HEADER_IN().getSALES_ORG());
    The complex type bapishead contains the parameters I have added but the parameter param doesn't have the parameters. This is the output I get:
    bapishead 0001
    orderHeadersin null
    Fehler java.rmi.RemoteException: Service call exception; nested exception is: com.sap.engine.services.webservices.jaxrpc.exceptions.XmlMarshalException: XML Serialization Error. Property [ORDER_HEADER_IN] of class [gg.proxies.types.BAPI_SALESORDER_CREATEFROMDAT1] must exist and can not be null. This is required by schema description.
    What could be missing?
    Thank you!
    Julia

    check out Parag jain reply to this message: serialization error [problem with setting attr values in the context]

  • JAXB problem to manage nested complex types

    Hi!
    I've defined a XSD schema to design a folder structure. So I created a complex type which contains a sequence of 'folder' type elements.
    The folder type element includes several elements and a final one which is another 'folder' type element.
    So it is easy to model a general folder structure, no matter the depth and length.
    When I compile it with JAXB to have an OO view I catch the following error:
    Nested type Folder hides an enclosing type
    The fragment of code which caused the error is:
    * Java content class for Folder complex type.
    * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/C:/Progetti/folderschemaexample.xsd line 10)
    * <p>
    * <pre>
    * <complexType name="Folder">
    *   <complexContent>
    *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    *       <choice maxOccurs="unbounded" minOccurs="0">
    *         <element name="folder_name" type="{http://www.w3.org/2001/XMLSchema}string"/>
    *         <element name="security" type="{}ACL"/>
    *         <element name="folder" type="{}Folder"/>
    *       </choice>
    *     </restriction>
    *   </complexContent>
    * </complexType>
    * </pre>
    */The error is raised when JAXB tries to compile a Folder interface as inner in another Folder interface (generated.Folder.Folder).
    Is any JAXB guru able to suggest me how to exit from this situation to create succesfully a JAXB compliant schema which models this folder structure?
    TIA

    Hi!
    I've defined a XSD schema to design a folder structure. So I created a complex type which contains a sequence of 'folder' type elements.
    The folder type element includes several elements and a final one which is another 'folder' type element.
    So it is easy to model a general folder structure, no matter the depth and length.
    When I compile it with JAXB to have an OO view I catch the following error:
    Nested type Folder hides an enclosing type
    The fragment of code which caused the error is:
    * Java content class for Folder complex type.
    * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/C:/Progetti/folderschemaexample.xsd line 10)
    * <p>
    * <pre>
    * <complexType name="Folder">
    *   <complexContent>
    *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    *       <choice maxOccurs="unbounded" minOccurs="0">
    *         <element name="folder_name" type="{http://www.w3.org/2001/XMLSchema}string"/>
    *         <element name="security" type="{}ACL"/>
    *         <element name="folder" type="{}Folder"/>
    *       </choice>
    *     </restriction>
    *   </complexContent>
    * </complexType>
    * </pre>
    */The error is raised when JAXB tries to compile a Folder interface as inner in another Folder interface (generated.Folder.Folder).
    Is any JAXB guru able to suggest me how to exit from this situation to create succesfully a JAXB compliant schema which models this folder structure?
    TIA

  • Create Web Services and return a complex type with ADF

    Hello,
    I've tried tried using ADF BC and service interface to create a Web service, this works well, but I needed to return more complex data types, such as a list of person objects (name, last name, ...), as I reviewed in the ADF BC service interface can return only some types of data :(
    Anyone know how I could do this using ADF BC, or how else do you recommend
    thanks

    How I can access to the AppModule from java class in the Model Project
    I've tried use
    String amDef = "model.services.WsAM";
    String config = "WsAMLocal";
    ApplicationModule am = Configuration.createRootApplicationModule(amDef, config);
    WsAMImpl myAm = (WsAMImpl)am;
    but in the Web Service, this throw a exception
    <ns2:exception class="java.lang.NoClassDefFoundError" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
    <message>oracle/jbo/client/Configuration</message>
    please I hope your help
    Thanks.
    Edited by: rmespas80 on 08-jul-2011 16:26

  • JAXB compiler error : Complex Type Definition Representation Error

    Hi,
    I have a problem when I try to generate Java classes for the XML Digital Signature schema along with the XAdES extension. Apparently, we got an XML validation issue when the XAdES schema is parsed.
    Here is the xjc tool ouput :
    [ERROR] src-ct.1: Complex Type Definition Representation Error for type 'IdentifierType'.  When complexContent is used, the base type must be a complexType.
      line 33 of XAdES.xsd
    [ERROR] src-ct.1: Complex Type Definition Representation Error for type 'EncapsulatedPKIDataType'.  When complexContent is used, the base type must be a complexType.
      line 57 of XAdES.xsdNow these are the schema lines from XAdES.xsd that cause the problem :
    <xsd:complexType name="IdentifierType">
      <xsd:complexContent>
        <xsd:extension base="xsd:anyURI">
          <xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
    <xsd:complexType name="EncapsulatedPKIDataType">
      <xsd:complexContent>
        <xsd:extension base="xsd:base64Binary">
          <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>The most disturbing thing is that those two schemas I used (e.g. xmldsig-core-schema.xsd and XAdES.xsd) come directly from the W3C, so they should be fully compliant to the XML schema spec, shouldn't they ?
    Moreover, I tried to validate these two schemas with XML Spy 4.3 and the problem occurs in slightly different way. In fact, the <xsd:complexContent> tags are replaced silently by XML Spy with <xsd:simpleContent> tags in order to validate the schema. So XML Spy seems to have a problem too with these complex type definitions. Besides, if I replace the <xsd:complexContent> tags the same way as XML Spy does, and if I run again the JAXB compiler, it works fine...
    Does anyone have any knowledge about this issue ? I'd like very much to hear about anyone who has experienced or better solved the same kind of issue.
    By the way, here is the version of JAXB that I use :
    xjc version "1.0.2-b15-fcs"
    JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build 1.0.2-b15-fcs)Any help appreciated.
    Thanks,
    Gregory

    <xsd:extension base="xsd:anyURI">
    <xsd:extension base="xsd:base64Binary">
    The base attribute of the xs:extension elements shoule refer to a complexType.
    For example,
    <xs:complexType name="complexTypeA">
    </xs:complexType>
    <xsd:complexType name="IdentifierType">
    <xsd:complexContent>
    <xsd:extension base="complexTypeA">
    <xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
    </xsd:extension>
    </xsd:complexContent>
    </xsd:complexType>

  • Map xsd complex type to existing java class without adding JAXB annotations

    Hello
    I've got a case where I should map an xsd complex type to an existing Java class without modifying that class, i.e. without adding JAXB annotations to that class.
    Is this possible somehow?
    As far as I've understood, the <javaType> declaration (adapter, parse/print methods) can only be used for xsd simple types.
    Thanks, Tom

    It should be possible to implement an XmlAdapter<...,...> which performs the required conversion between the original type and a JAXB-annotated type. Then, at the places where the original type is used, the @XmlJavaTypeAdapter annotation would be used.
    The xjc compiler supports this for xsd simple types (xjc:javaType annotation), but not for complex types.
    Any idea why this is restricted to simple types?
    Would it be possible to implement a xjc plugin which does this for complex types?
    Thanks Tom.

Maybe you are looking for