Mapping problem Moving Complex Type to field

Dear all,
I am making a message using from RFC(ECC 6.0) to SOAP
Some fields of the structure of RFC are:
STRUCTURE_VALUE -> Complex Type
      END    - NUMC 20
      ID        - NUMC 3
      COST  - NUMC  5
      RATE  - NUMC  6
The structure of Data Type to SOAP is:
DATA_VALUE - STRING
I need to concatenate the first structure in the second structure but I have too many fields in the STRUCTURE_VALUE and I don't want to use the function CONCATENATE in the MAPPING EDITOR. I would like to move the complex type STRUCTURE_VALUE to structure DATA_VALUE.
Does anybody know if it's possible?
Best regards,
Fernando

Hi,
First of all what needs to be concatenated ? Each fields of the Source segment ?
If so write a user defined function, which reads all the fields and retruns one concatenated field as an output.
To know about this , you can go thru these- to understand the way how it works-and for e.g
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
Rgds,
Moorthy

Similar Messages

  • Web service call problem with complex types input

    We are trying to call a web service and pass as parameter
    some complex types. When invoking the web service everything works
    well on flex side, but on the server side the input parameters we
    get from flex are not correct - complex type is removed and the
    elements of the complex type are sent. See the example:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:WebService id="ws_id" wsdl="link" useProxy="false"
    fault="wsFault(event)">
    <mx:operation id="op_id" name="op"
    result="wsResult(event)">
    <mx:request>
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    </mx:Application>
    on server side we get this:
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameters>
    Instead of :
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    Any idea how is it possible to send complex type as web
    service input from flex ?

    Hi,
    I also have similar type of problem where I need to invoke a Web service with Complex input parameters.
    I followed Susan's blog but I stuck at a point where methos getItem is created.
    Can anyone tell me how to get that method for my requirement.
    If possible can you guys share your solutions here.
    Thanks in advance.

  • Problems populating complex type structre in bpel

    Hi All,
    I'm trying to populate with no good results a complexType variable that contains n maxOccurs="unbounded" element.
    This is the schema:
    <xsd:complexType name="logWarnParam">
    <xsd:sequence>
    <xsd:element name="Message" type="xsd:string"/>
    <xsd:element name="MessageParam" type="xsd:string" maxOccurs="unbounded"/>
    <xsd:element name="context" type="ns1:context"/>
    </xsd:sequence>
    </xsd:complexType>
    This is the bpel variable
    <variable name="logWarnParamVariable" element="ns3:logWarnParam"/>
    and these are the parts of the bpel that applies to this case:
    <while name="While1"
    condition="bpws:getVariableData('i')&lt;number(5)">
    <scope name="Log1" variableAccessSerializable="no">
    <sequence name="Sequence1">
    <assign name="assign1">
    *<bpelx:append>*
    *<bpelx:from expression="string('value1')"/>*
    *<bpelx:to variable="logWarnParamVariable"*
    query="/ns3:logWarnParam/MessageParam"/>
    *</bpelx:append>*
    <copy>
    <from expression="bpws:getVariableData('i')+1"/>
    <to variable="contador"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    </while>
    Can anyone help me with the way to populate this structure?
    Thanks in advance!

    The complexType element defines a complex type. A complex type element is an XML element that contains other elements and/or attributes.
    Its a place holder to hold different types of element or same set of elements.
    In the below example you will get more information.
    *<xs:element name="employee" type="fullpersoninfo"/>*
    *<xs:complexType name="personinfo">*
    <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    *<xs:complexType name="fullpersoninfo">*
    <xs:complexContent>
    <xs:extension base="personinfo">
    <xs:sequence>
    <xs:element name="address" type="xs:string"/>
    <xs:element name="city" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    In this example i would like to have more than one employee information. So i have created a complexType as "fullpersoninfo", Then in run time i will populate the values inside "fullpersoninfo"
    not the employee or fullpersoninfo variable, rather i will populate the firstname, lastname, address, city and country.
    The out put will be having value like the below.
    <employee>
         <firstname></firstname>
         <lastname></lastname>
         <address>Duke Street</address>
         <city>Liverpool</city>
         <country>UK</country>
    </employee>
    <employee>
         <firstname></firstname>
         <lastname></lastname>
         <address>Duke Street</address>
         <city>Liverpool</city>
         <country>UK</country>
    </employee>
    I will populate the elements inside the complex type element not it self.
    I took the example from below URL
    http://www.w3schools.com/schema/el_complextype.asp
    You should modify your assign as below.
    <bpelx:append>
    <bpelx:from expression="string('value1')"/>
    <bpelx:to variable="logWarnParamVariable"
    query="*/ns3:logWarnParamVariable/ns3:logWarnParam/ns3:MessageParam*"/>
    </bpelx:append>
    Let me know how you go !!
    Thanks,
    Vijay

  • Mapping problem for IDOC Type DESADV

    Dear all
    I need to change Segment E1EDP07 in the message type DESADV.
    I should concatenate VBELN and VGPOS into BSTNK.
    I tried to do this with BD79 (Rules for Data Converting). This seems not to work as I can get only 1 sender Field.
    So I tried to use the userexit EXIT_SAPLBD11_001, but it seems that this is not used. I have set a break-point for debugging and treated the IDOC with RSNAT00 without any stop.
    Do you have any ideas how I can do this?
    Herbert

    >
    Herbert Schlup wrote:
    > I have 2 entries for my DWSADV01
    >
    > 1 with FM IDOC_INPUT_DESADV and the other with IDOC_INPUT_DESADV1
    With the first one, you cannot do much, as there is no user exit in it. But in the second one, there is a user exit when the idoc data is parsed the exit name is EXIT_SAPLV55K_004 and is called in the subroutine  DESADV_IDOC_PARSE in the function.
    But please note that the function IDOC_INPUT_DESADV1 is used with process code DELS for message type DESADV and Idoc type DELVRY01 and IDOC_INPUT_DESADV  is used with process code DESA and message type DESADV with IDoc type DESADV01.  So you might be using IDOC_INPUT_DESADV  function and unfortunately there are no user exits to handle your requirement.
    My advice would be to check with the source system or the middleware to define the mapping of these fields according to your requirement. But if that is not possible, then you need to first check which message type and IDoc type you are receiving and proceed accordingly
    KR,
    Advait

  • Problem identifying complex type

    Hi,
    I have a WSDL in which the schema is defined as below:
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://www.test.org/CrSer"
    xmlns:mysch="http://www.test.org/mysch"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://www.test.org/mysch" schemaLocation="mysch.xsd" />
    <element name="CreateRequest">
    <complexType>
    <sequence>
    <element name="Prt" type="mysch:myschPart" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    File mysch.xsd is as below:
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
    targetNamespace="http://www.test.org/mysch"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="myschPart">
    <complexType>
    <sequence>
    <element name="ID" type="string" nillable="true"/>
    <element name="Name" type="string" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    However, CreateRequest type does not parse properly and I do see the myschPart highlighted in red in the design view of the schema.
    Where am I going wrong?
    Thanks in advance,
    Prakash Bande

    I am using Oracle JDeveloper 10.1.3.1.0.

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

  • 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

  • Soap encoded array of complex type, impossible to map?

    Hello,
    can anyone please tell me if the XI has problems (or is unable) to read from soap-encoded arrays of a complex type.
    As far as I know this is conform to SOAP 1.1
    We developed this webservice for a client, who says, he cannot map this kind of array in his XI.
    Would it be better to do it this way ?
    <complexType name="ActivityList">
      <sequence>
        <element name="ActivityEl" maxOccurs="unbounded" type="Activity"/>
      </sequence>
    </complexType>
    Excerpt of the WSDL:
        <wsdl:message name="getDataForPbnrResponse">
            <wsdl:part name="getDataForPbnrReturn" type="impl:ArrayOf_tns1_Activity"/>
        </wsdl:message>
            <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ipslsv01vm02:9080/axis/services/QEC-Service">
                <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
                <complexType name="ArrayOf_tns1_Activity">
                    <complexContent>
                        <restriction base="soapenc:Array">
                            <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Activity[]"/>
                        </restriction>
                    </complexContent>
                </complexType>
                <complexType name="ArrayOf_tns1_ActivityFeedback">
                    <complexContent>
                        <restriction base="soapenc:Array">
                            <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:ActivityFeedback[]"/>
                        </restriction>
                    </complexContent>
                </complexType>
            </schema>
    Part ot the response:
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <ns1:getDataForPbnrResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ipslsv01vm02:9080/axis/services/QEC-Service">
       <getDataForPbnrReturn xsi:type="soapenc:Array" soapenc:arrayType="ns3:Activity[7]" xmlns:ns2="http://www.w3.org/2002/12/soap-encoding" xmlns:ns3="urn:BeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
        <item href="#id0"/>
        <item href="#id1"/>
        <item href="#id2"/>
        <item href="#id3"/>
        <item href="#id4"/>
        <item href="#id5"/>
        <item href="#id6"/>
       </getDataForPbnrReturn>
      </ns1:getDataForPbnrResponse>
      <multiRef id="id5" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:Activity" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="urn:BeanService">
       <FIN xsi:type="xsd:string">---</FIN>
       <VIN xsi:type="xsd:string"></VIN>
    cut -
       <ursache xsi:type="xsd:string"></ursache>
      </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    Thanks in advance!

    I am having this issue as well.
    From:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/frameset.htm
    I see that:
    The WSDL document in rpc-style format must also not use any soapenc:Array types; these are often used in SOAP code in documents with this format. soapenc:Array uses the tag <xsd:any>, which the Integration Builder editors or proxy generation either ignore or do not support.
    You can replace soapenc:Array types with an equivalent <sequence>; see the WS-I  example under http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16556272.
    They give an example of what to use instead.
    Of course I have been given a WSDL that has a message I need to map to that uses the enc:Array.
    Has anyone else had this issue?  I need to map to a SOAP message to send to an external party.  I don't know what they are willing to change to support what I can do.  I changed the WSDL to use a sequence as below just to pull it in for now.
    Thanks,
    Eric

  • Problem in calling a WS with complex type

    Hi all...
    I have to invoke a WS that has as input type a complex type defined in the wsdl...
    <complexType name="LoginInfo">
    - <sequence>
      <element name="appCode" nillable="true" type="string" />
      <element name="login" nillable="true" type="string" />
      <element name="passwd" nillable="true" type="string" />
      </sequence>
      </complexType>the soapui request looks like this:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://com.susan/SusanWS/types">
       <soapenv:Header/>
       <soapenv:Body>
          <typ:LoginWebService>
             <LoginInfo_1>
                <appCode>WEB_SERVICES</appCode>
                <login>root</login>
                <passwd>root</passwd>
             </LoginInfo_1>
          </typ:LoginWebService>
       </soapenv:Body>
    </soapenv:Envelope>in my java code I'm trying to call it with:
    Service service = new Service();
                Call call = (Call)service.createCall();
                call.setTargetEndpointAddress( new URL( wsEndpoint ) );
    //            call.setOperationName( wsMethod );
                call.setOperationName( new QName("http://com.susan/SusanWS/types",wsMethod));
                call.addParameter( "LoginInfo_1", Constants.XSD_ANYTYPE, ParameterMode.IN );
    //            call.addParameter( "appCode", Constants.XSD_STRING, ParameterMode.IN );
    //            call.addParameter( "login", Constants.XSD_STRING, ParameterMode.IN );
    //            call.addParameter( "passwd", Constants.XSD_STRING, ParameterMode.IN );
                String[] params={appCode, login, passwd};
    //            call.setReturnType( Constants.XSD_INT );
    //            Object retval = call.invoke( new String[] {appCode, login, passwd} );
                Object retval = call.invoke( new Object[] { params } );doing so..it doesn't work...the first problem I can see...is that I don't assign a parameter name to the 3 strings I pass in the param array...
    anybody has a tip to give me on how to solve this problem?

    solved...
    I imported the wsdl into Intellij idea...which created all the needed classes, interfaces,...and used service locator and endpoint binding stubs...

  • Mapping List Complex Types in BPM (unbounded)

    Hello,
      I need help in how can I map a list of complex types in BPM.
      I have a list of products that brings a web service that I have to map to the process context. Both types have the same elements, but the process context BPM shows me an error because it is different of the web service.
      Please, any documentation or advice.
    Regards
    SU

    Hi,
    For mapping the complex types, you need to follow the below:
    Start by mapping the outermost node first and then mapping the attributes inside the node. Intially it will show the (types do not match) error and when you are done with all the mapping the error would vanish.
    Cheers,
    Arafat

  • Problem weblogic with complex types

    I have deployed a web service in weblogic 10.3. I have created it with axis, and use complex types. The problem is when I test the WS:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header />
    <env:Body>
    <PruebaRequest xmlns="http://servicioweb.dispensaciones.es/">
    <!--Optional:-->
    <result>6</result>
    </PruebaRequest>
    </env:Body>
    </env:Envelope>
    Service Response
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header />
    <env:Body>
    <env:Fault>
    <faultcode>env:Server</faultcode>
    <faultstring>Server CodecHandler Failed to decode
    -> Failed to decode message
    </faultstring>
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.wsee.codec.CodecException: Failed to decode message
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:186)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
    at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
    at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
    at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
    at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
    at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
    at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
    ... 22 more
    Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
    at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
    at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
    at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
    at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
    at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
    at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
    at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
    at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
    at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
    at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
    at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
    at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
    at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
    at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
    at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    </bea_fault:stacktrace>
    </detail>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    Could anyone help?

    It seems WLS is not comfortable with complex types in WebServices signature. In fact, it seems so for array of classes too. When I exposed a java method with a signature like:
    public myClass\[] myMethod(myClass\[] param) {}
    I got the same exception. However, the same WebService is working well on oc4j (embedded in jDev)
    Edited by: speakingTree on Aug 17, 2009 12:57 AM

  • How to map XSD complex type nodes

    Hello In my XSD I have complex type like this:
    How to map this node to Target filed, I can not see PostalCode node my graphical editor:
    <xs:element name="InternationalAddress" nillable="true" type="tns:InternationalAddress" />
      <xs:complexType name="CanadianAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Province" nillable="true" type="tns:ProvinceCodes" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>

    How to handle this in my graphical mapping:
    <xs:complexType name="Address">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="City" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line1" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line2" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line3" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line4" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Address" nillable="true" type="tns:Address" />
      <xs:complexType name="InternationalAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="Region" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="InternationalAddress" nillable="true" type="tns:InternationalAddress" />
      <xs:complexType name="CanadianAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Province" nillable="true" type="tns:ProvinceCodes" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="CanadianAddress" nillable="true" type="tns:CanadianAddress" />
      <xs:complexType name="AmericanAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="State" nillable="true" type="tns:StateCodes">
              </xs:element>
              <xs:element minOccurs="0" name="ZipCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="AmericanAddress" nillable="true" type="tns:AmericanAddress" />

  • JWSDP and complex type extension problem

    Hy,
    We got a problem with JAX-RPC reference implementation. It seems it doesn't support inheritance beetween complex types as web services parameters or return value. A Parse exception happens when client code deserializes base class members. Does anyone know about this problem ? We don't have it with Apache Axis implementation (on client side). In our case, server code always runs in C++ with gSOAP.
    And the stacktrace :
    deserialization error: unexpected XML reader state. expected: END but found: START: longitude
    Here our wsdl file :
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="Service"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
    targetNamespace="urn:ass"
    xmlns:tns="urn:ass"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:WAT="urn:ass/WAT.xsd"
    xmlns:ifg="urn:ass">
    <types>
    <schema
    xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="urn:ass/WAT.xsd"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:WAT="urn:ass/WAT.xsd"
    xmlns:ifg="urn:ass">
    <complexType name="Date">
    <sequence>
    <element name="time" type="xsd:long" minOccurs="1" maxOccurs="1"/>
    </sequence>
    </complexType>
    <complexType name="DateStruct">
    <all>
    <element name="inst" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="IcaoCode">
    <sequence>
    <element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    <element name="isAlphaNum" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
    </sequence>
    </complexType>
    <complexType name="IcaoCodeStruct">
    <all>
    <element name="inst" type="WAT:IcaoCode" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="Ident">
    <sequence>
    <element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    <element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    <element name="Text" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="IdentStruct">
    <all>
    <element name="inst" type="WAT:Ident" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="Latitude">
    <sequence>
    <element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="LatitudeStruct">
    <all>
    <element name="inst" type="WAT:Latitude" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="Longitude">
    <sequence>
    <element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="LongitudeStruct">
    <all>
    <element name="inst" type="WAT:Longitude" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="Notam">
    <sequence>
    <element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    <element name="Text" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="NotamStruct">
    <all>
    <element name="inst" type="WAT:Notam" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="Pib">
    <sequence>
    <element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    <element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="PibStruct">
    <all>
    <element name="inst" type="WAT:Pib" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="AirField">
    <sequence>
    <element name="longitude" type="WAT:Longitude" minOccurs="1" maxOccurs="1"/>
    <element name="latitude" type="WAT:Latitude" minOccurs="1" maxOccurs="1"/>
    <element name="codeICAO" type="WAT:IcaoCode" minOccurs="1" maxOccurs="1"/>
    </sequence>
    </complexType>
    <complexType name="AirFieldStruct">
    <all>
    <element name="inst" type="WAT:AirField" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    <complexType name="SunTime">
    <complexContent>
    <extension base="WAT:AirField">
    <sequence>
    <element name="sunriseTime" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
    <element name="sunsetTime" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
    <element name="heuresCalculees" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    <element name="heuresExistent" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    <complexType name="SunTimeStruct">
    <all>
    <element name="inst" type="WAT:SunTime" minOccurs="1" maxOccurs="1"/>
    <element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="getSuntimeRequest">
    <part name="req" type="xsd:string"/>
    </message>
    <message name="SunTimeStruct">
    <part name="inst" type="WAT:SunTime"/>
    <part name="coderet" type="xsd:int"/>
    </message>
    <portType name="ServicePortType">
    <operation name="getSuntime">
    <documentation>Service definition of function ifg__getSuntime</documentation>
    <input message="tns:getSuntimeRequest"/>
    <output message="tns:SunTimeStruct"/>
    </operation>
    </portType>
    <binding name="ServiceBinding" type="tns:ServicePortType">
    <SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="getSuntime">
    <SOAP:operation soapAction=""/>
    <input>
    <SOAP:body use="encoded" namespace="urn:ass" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output>
    <SOAP:body use="encoded" namespace="urn:ass" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
    </operation>
    </binding>
    <service name="Service">
    <documentation>gSOAP 2.1.10c generated service definition</documentation>
    <port name="ServicePort" binding="tns:ServiceBinding">
    <SOAP:address location="http://location/Service.cgi"/>
    </port>
    </service>
    </definitions>

    Try using the -f:searchschema feature of wscompile when generating the client stubs from your WSDL file.

  • Problem with abstract complex type in substitution group.

    Hi all,
    I have three xsds, A, B, C.XSD respectively. A.xsd:There is a substitution group and its complex type declared as abstract and element that uses them. B.xsd has the same structure as A except that it has complex type derived from complex type from A. C.xsd is same as B.xsd.
    The xml files of A and B validate but not of C.
    It gives the following error:
    This file is not valid. Unexpected element'signatureString' in element author. Expected signatureString,signatureText.
    Any help at the earliest is greatly appreciated.
    the code of each xsds is as follows:
    A.XSD:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:PARTICIPATION="Participation" targetNamespace="Participation">
         <!-- ================================================= -->
         <!-- Package: Participation -->
         <!-- ================================================= -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<ST>> SignatureString -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="signatureString" type="PARTICIPATION:SignatureString" substitutionGroup="PARTICIPATION:signatureText"/>
         <xs:complexType name="SignatureString">
              <xs:complexContent>
                   <xs:extension base="PARTICIPATION:SignatureText">
                        <xs:attribute name="value" type="xs:string" use="required"/>
                   </xs:extension>
              </xs:complexContent>
         </xs:complexType>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: SignatureText -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="signatureText" type="PARTICIPATION:SignatureText" abstract="true"/>
         <xs:complexType name="SignatureText" abstract="true"/>
    </xs:schema>
    B.xsd:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:CM3202="Common3202" xmlns:PARTICIPATION="Participation" targetNamespace="Common3202">
         <xs:import namespace="Participation" schemaLocation="Datatypes3203/RDT/Participation.xsd"/>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Participation>> PractitionerParticipation -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="practitionerParticipation" type="CM3202:PractitionerParticipation" abstract="true"/>
         <xs:complexType name="PractitionerParticipation" abstract="true">
              <xs:sequence>
                   <!--xs:element name="signatureText" type="PARTICIPATION:SignatureText" minOccurs="0"/-->
                   <xs:element ref="PARTICIPATION:signatureText"/>
                   </xs:sequence>
         </xs:complexType>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Participation>> Author -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="author" type="CM3202:Author" substitutionGroup="CM3202:practitionerParticipation"/>
         <xs:complexType name="Author">
              <xs:complexContent>
                   <xs:extension base="CM3202:PractitionerParticipation"/>
              </xs:complexContent>
         </xs:complexType>
    </xs:schema>
    C.xsd
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:VS3203="VitalSigns3203" xmlns:CM3202="Common3202" targetNamespace="VitalSigns3203">
         <xs:import namespace="Common3202" schemaLocation="Common3202.xsd"/>
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <!-- Class: <<Observation>> VitalSignsObservationEvent -->
         <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
         <xs:element name="vitalSignsObservationEvent" type="VS3203:VitalSignsObservationEvent"/>
         <xs:complexType name="VitalSignsObservationEvent">
              <xs:sequence>
                   <xs:element name="author" type="CM3202:Author" minOccurs="0">
                   </xs:element>
              </xs:sequence>
         </xs:complexType>
    </xs:schema>

    Hi all,
    This seems to be a bug unless someone of you have a solution.
    Also I ma new to xml/xsd world, so could someone please give the differences between xsi:type vs substitution groups with both element and complex type being abstract. Can this scenario be accomplished by usuage of choice groups.
    Also can anyone suggest any other good xml forums.
    Please let me know.
    Thanks in advance.

  • 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

Maybe you are looking for

  • PDF/A natively created in Mac OS X. Is still impossible?

    Hi everybody, I need to generate PDF/A files (http://en.wikipedia.org/wiki/PDF/A) in 10.5/10.6 but I can't figure out how to do it! The best solution I found is to print to PostScript and then convert the files with Adobe Distiller but it is a nasty

  • How do I enable "copy-paste" buttons, editing a private wed site?

    I'm a school teacher. My school has a web site. I'm the site manager. The site has installed a basic editor to write articles with. The "copy- paste" buttons don't work and the following message appears "Copy/Cut/Paste is not available in Mozilla and

  • Issues w/Reader XI

    I started having  problems after updating Reader to version 11.0.09. When I try to open Adobe Reader XI from my desktop or a .pdf that already exists in my computer I get this message: Adobe Reader has stopped working Windows is checking for a soluti

  • How to synchronize Nano and 30Gig on one computer

    I have been using a new 30 Gig Ipod with no problems. My husband just got a 2 Gig Nano, and my iTunes software is not recognizing his Nano Ipod. If I install the software off the Nano cd, will it screw up my current software, music, etc.? Is the Itun

  • How can i open my iphone 4

    i lost my apple id and passward now what can i do how can i open my iphone 4