Data service complex object deserialization

I am building a simple data services application that has a
many-to-one association between two classes:
public class Product {
public var title : String;
public class LineItem {
public var product : Product
public get function title() : String { return
this.product.title; }
I am trying to populate a DataGrid with a list of LineItems,
using the product's title in one of the fields. It seems, however,
that the LineItem product property is populated with an Object, not
a Product when returning from the DataService call. From I have
read (see #9), this
seems to be expected based on how the Flash player deserializes
data.
My question though is if there is an easy work around for
this problem? Thus far, all I have found that works is to access a
LineItem from the DataService result after it completes, but that
seems very hack-ish to me.
Thanks,
Josh

The InputRender is the recommended tag for complex types. The only problem is that it doesn't (currently) support object types. It supports interMedia types. You need to use the ShowValue tag and the SetAttribute tag in order to update your complex type. In our next release we will add object support to the InputRender tag.
Thanks
null

Similar Messages

  • Handle Flex 4 data services as Object or as XML?

    Hi,
    I've been playing with dataservices as a source to populate several components & functions to generate CSV.
    My question is, what's the most efficient way to loop through the data in dataservices?
    Using object loop?:
    for each( item in dsrvc ){
       if( dsrvc[item] == value){
          //add item to component
    Using E4X:
    var newDP:dataprovider = dsrvc.customer.(lastname == value);
    component.dataProvider = newDP;

    Hi,
       When it comes to runtime performance of the applications created using Data Centric Development ( DCD ) wizards, they perform same as the ones created without using DCD.
       Even the code generated by these wizards are easy to read & maintain with proper inheritance, packages & overriding. But, if you are planning to use any of the MVC style frameworks, the generated code may not fit so well right now. We are already working on improving the experience for people who are using these frameworks.
       Overall, using DCD gives a lot of productivity gain with its unified wizards & advanced UI Authoring workflows including Automatic Form Generation, Charts, Master-Detail views, Paging, Client Side Data Management etc.
      Please let us know if you have any specific concerns in the generated code.
    Regards
    Srinivas Annam
    http://srinivasannam.wordpress.com

  • Blueprints Data Services

    Hi,
    I'm trying to use Blueprints for Data Services.
    I used document "Blue Prints Data Services Content Objects.pdf", there are all Instructions for downloading and installing.
    So I have done these steps:
    (1) Install the Global Parsing Options
    (2) Download "Data Quality Blueprints - All"
    (3) Extract ZIP-File to Tutorial-Folder
    (4) Import ATL - File
    (5) Data Store - Configuration-Change to MySQL-Repository
    (6) Substitution parameter configuration
    (7) Address - Server is running
    Started Job "Job_DqBatchGermany_AddressCleanse".
    Job is completed successfully, but there are blanks in Output - Table - Columns.
    For every record Status_Code = "S0000" and Info_Code = "1030".
    Please provide me a way to troubleshoot this problem.
    Thanks

    Info_Code=1030: No country found in the record
    (DQ Appendix in the Reference Manual)
    The Address Cleanse Transform requires a correct CountryID, otherwise it can't start. So either it is getting none at all, it is NULL or something. Or it is using the wrong format, the transform expects the ISO codes. If you do not have the ISO codes, use the CountryID Transform upfront.
    https://wiki.sdn.sap.com:443/wiki/display/BOBJ/GlobalAddressCleansing+Transform

  • Problems returning complex objects from a php data service

    either the data services tool is buggy or i am doing something wrong. here is the code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/halo"
         minWidth="1024" minHeight="768"
         xmlns:personservice="services.personservice.*"
         initialize="init()">
         <fx:Script>
              <![CDATA[
                   import mx.rpc.events.ResultEvent;
                   import mx.controls.Alert;
                   import mx.collections.ArrayCollection;
                   public var people:ArrayCollection;
                   private function init():void {
                        getPeopleInMyWorldResult.token = personService.getPeopleInMyWorld();
                   protected function getPeopleInMyWorldResult_resultHandler(event:ResultEvent):void {
                        people = new ArrayCollection(event.result as Array);
              ]]>
         </fx:Script>
         <fx:Declarations>
              <s:CallResponder id="getPeopleInMyWorldResult" result="getPeopleInMyWorldResult_resultHandler(event)"/>
              <personservice:PersonService id="personService"
                   destination="PersonService"
                   endpoint="http://localhost/photoapp/Test3-debug/gateway.php"
                   fault="Alert.show(event.fault.faultString)"
                   showBusyCursor="true"
                   source="PersonService"/>
         </fx:Declarations>
    </s:Application>
    <?php
    class Person {
         public $name;
         public $cars;
    class Car {
         public $year;
         public $make;
         public $model;
    class PersonService {
         public function getPeopleInMyWorld() {
              $person1 = new Person();
              $person1->name = "John Doe";
              $car1 = new Car();
              $car1->year = 2005;
              $car1->make = 'audi';
              $car1->model = 'A6 Quattro';
              $car2 = new Car();
              $car2->year = 1970;
              $car2->make = 'datsun';
              $car2->model = '510';
              $person1->cars = array($car1, $car2);
              $person2 = new Person();
              $person2->name = "Jane Doe";
              return array($person1, $person2);
    create a new "flex" project in FB Beta1 with a php server. Setup the application and php script as normal, then configure the return type for the getPeopleInMyWorld function. I created a new return type called "Person" and was quite please to see that FB automagically created a "Cars" class with the all the right properties.
    Unfortunately, if you run the code (try debug mode and put a breakpoint on the result handler) you'll notice that "john doe" has lost his cars and that you also get the silent (check console) error:
    TypeError: Error #1034: Type Coercion failed: cannot convert []@1226bc49 to mx.collections.ArrayCollection.
    any ideas??
    i can get this to work by using json, but it's extra work, the com.adobe.serializers.json.JSONDecoder has little documentation, and the method outlined above is just begging to work.
    so, how are the rest of you getting complex data back from your servers? json?? amfphp?? xml (but surely not)??
    also, since i'm here discussing data services, if any adobe ppl are about, please throw one extra voice behind the following feature requests:
    1) support for optional service call arguments (http://bugs.adobe.com/jira/browse/FB-19659)
    2) a button for automatically 'generating service calls' from within the data services panel.
    thanks,
    - e

    Thank you Gaurav for pointing me in the right direction. There was some debate in the blogs as to which data transferring method (amfphp, json, or xml) was best. See
    http://blogs.adobe.com/mikepotter/2006/07/php_and_flex_js.html
    and
    http://www.5etdemi.com/blog/archives/2006/12/clearing-the-fud-on-amfphps-speed-versus-json -and-xml/
    I used json yesterday
    php:  json_encode(array($p1, $p2));   // observation: you only have to encode once as opposed
                                          // to using amf on each array...
    FB:   private var jsonD:JSONDecoder = new JSONDecoder();
          var jsonString:String = {{{return result from service call}}}
          myPeople:ArrayCollection = jsonD.decode(jsonString, services.personservice.Person);
    Note that in FB you can use the services.personservice.Person class as an optional argument in the jsonD.decode function. This class can be automatically generated using FB's built-in data service's panel when you try to configure the return type (as I described above). The json data should unserialize correctly with Cars objects automagically created and everything (a huge time saver!!).
    It worked for me, though I'm not sure how deep the unserialization process is capable of going (objects within objects w/in objects, for example). Also I had some trouble with adobe's jsonDecoder; it had trouble eating (uhm parsing) hollow objects (i.e. objects with null properties), whereas the php_encode / php_decode handled these objects w/o fail.
    Anyway, will be reading up on amf. Tanx again Gaurav,
    - e

  • Complex object as parameter from BPEL PM to Web Service

    Hello,
    I'm having a problem with being able to invoke a method on my web service from BPEL PM. It's a 'create' method, so I'm sending a complex object as the input parameter of the method.
    I'm encountering the same kind of problems I have at different stages in the project I'm on: SOA works really well as long as you don't use complex objects. As soon as you do, SimpleDeserializer exceptions seem to be thrown all over the place. In this case, the error I'm getting is:
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    <part name="code">
    <code>Server.userException</code>
    </part>
    <part name="summary">
    <summary>when invoking endpointAddress 'http://covarm.tvu.ac.uk/validationEvent/services/validationEventSOAP', org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.</summary>
    </part>
    <part name="detail">
    <detail>AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException faultSubcode: faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:188) at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:893) at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:200) at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:684) at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:207) at org.apache.axis.message.RPCElement.getParams(RPCElement.java:265) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:190) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:276) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:744) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:674) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)</detail>
    </part>
    </remoteFault>
    The WSDL is at:
    http://covarm.tvu.ac.uk/validationEvent/wsdl/validationEventSOAP.wsdl
    I'm invoking the 'createEvent' method. I know the service works okay because I've tested it with Rational Software Architect and Eclipse's Web Services Explorer, and also with standalone code and JUnit tests.
    The problem seems to be getting the mapping from BPEL PM to the Web Service. I'm sending the object as a message type that's defined in the WSDL of the service:
    <xsd:element name="createEventRequest" type="tns:event" />
    - <xsd:complexType name="event">
    - <xsd:sequence>
    <xsd:element name="event-detail" type="tns:event-detail" />
    <xsd:element name="proposed-dates" type="tns:proposed-dates" />
    <xsd:element name="panel" type="tns:panel" />
    <xsd:element name="development-team" type="tns:development-team" />
    <xsd:element name="minute" type="xsd:string" />
    <xsd:element name="feedback-list" type="tns:feedback-list" />
    </xsd:sequence>
    </xsd:complexType>
    Is this something that's
    a) fixable?
    b) workaroundable?
    c) a known issue?
    Thanks,
    Dan

    Before I start crying at my own impotence, how can I configure the bpel.xml file (for obtunnel_ when it looks like this?
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="RunValidationEvent" src="RunValidationEvent.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="client">
    <property name="wsdlLocation">RunValidationEvent.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="validationEvent">
    <property name="wsdlLocation">validationEventSOAPRef.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="notification">
    <property name="wsdlLocation">notificationSOAPRef.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="TaskManagerService">
    <property name="wsdlLocation">TaskManagerService.wsdl</property>
    <property name="wsdlRuntimeLocation">${domain_url}/TaskActionHandler/TaskManagerService.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="TaskRoutingService">
    <property name="wsdlLocation">TaskRoutingService.wsdl</property>
    <property name="wsdlRuntimeLocation">${domain_url}/TaskActionHandler/TaskRoutingService.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="TaskActionHandler">
    <property name="wsdlLocation">TaskActionHandler.wsdl</property>
    <property name="wsdlRuntimeLocation">${domain_url}/TaskActionHandler/TaskActionHandler?wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="IdentityService">
    <property name="wsdlLocation">LocalIdentityService.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="processParticipant">
    <property name="wsdlLocation">processParticipantSOAPRef.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <activationAgents>
    <activationAgent className="oracle.tip.pc.services.hw.task.impl.TaskActivationAgent" partnerLink="TaskManagerService"/>
    </activationAgents>
    </BPELProcess>
    </BPELSuitcase>
    Or is it that I'm using local wsdl refs when I should be defining a partner likk in my web service wsdl?

  • Passing complex object from bpel process to web service

    I have deployed my web service on apache axis.The wsdl file looks like as follows,
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://bpel.jmetro.actiontech.com" xmlns:intf="http://bpel.jmetro.actiontech.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="ADLevelBpelWS">
    - <sequence>
    <element name="adLevelStr" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:int" />
    </sequence>
    </complexType>
    - <complexType name="TransResultWS">
    - <sequence>
    <element name="description" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:long" />
    <element name="responseType" type="xsd:int" />
    <element name="status" type="xsd:boolean" />
    </sequence>
    </complexType>
    - <complexType name="NamespaceDataImplBpelWS">
    - <sequence>
    <element name="ADLevel" nillable="true" type="impl:ADLevelBpelWS" />
    <element name="appdataDef" nillable="true" type="apachesoap:Map" />
    <element name="description" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="CreateSharedNamespaceBpelWS">
    - <sequence>
    <element name="actor" nillable="true" type="xsd:string" />
    <element name="comment" nillable="true" type="xsd:string" />
    <element name="from" nillable="true" type="xsd:string" />
    <element name="namespaceData" nillable="true" type="impl:NamespaceDataImplBpelWS" />
    <element name="priority" type="xsd:int" />
    <element name="processAtTime" nillable="true" type="xsd:dateTime" />
    <element name="replyTo" nillable="true" type="xsd:string" />
    <element name="responseRequired" type="xsd:boolean" />
    </sequence>
    </complexType>
    </schema>
    - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="mapItem">
    - <sequence>
    <element name="key" nillable="true" type="xsd:string" />
    <element name="value" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="Map">
    - <sequence>
    <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
    </sequence>
    </complexType>
    </schema>
    </wsdl:types>
    + <wsdl:message name="createNamespaceRequest">
    <wsdl:part name="createNs" type="impl:CreateSharedNamespaceBpelWS" />
    </wsdl:message>
    - <wsdl:message name="createNamespaceResponse">
    <wsdl:part name="createNamespaceReturn" type="impl:TransResultWS" />
    </wsdl:message>
    - <wsdl:portType name="JMetroWebService">
    - <wsdl:operation name="createNamespace" parameterOrder="createNs">
    <wsdl:input message="impl:createNamespaceRequest" name="createNamespaceRequest" />
    <wsdl:output message="impl:createNamespaceResponse" name="createNamespaceResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="NAMESPACEWITHMAPSoapBinding" type="impl:JMetroWebService">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="createNamespace">
    <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="createNamespaceRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:input>
    - <wsdl:output name="createNamespaceResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="JMetroWebServiceService">
    - <wsdl:port binding="impl:NAMESPACEWITHMAPSoapBinding" name="NAMESPACEWITHMAP">
    <wsdlsoap:address location="http://localhost:7001/axis/services/NAMESPACEWITHMAP" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    My NamespaceDataObjectImplBpelWS object contains element appDataDef which is of type java.util.Map.My bpel wsdl file is as below,
    <?xml version="1.0"?>
    <definitions name="NsWithMap"
    targetNamespace="http://bpel.jmetro.actiontech.com"
    xmlns:tns="http://bpel.jmetro.actiontech.com"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of services participating in this BPEL process
    The default output of the BPEL designer uses strings as input and
    output to the BPEL Process. But you can define or import any XML
    Schema type and us them as part of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
         <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
         <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
              <element name="createNamespace" type="tns:CreateSharedNamespaceBpelWS"/>
              <element name="transResult" type="tns:TransResultWS"/>
              <complexType name="TransResultWS">
                   <sequence>
                        <element name="description" type="string" />
                        <element name="id" type="long" />
                        <element name="responseType" type="int" />
                        <element name="status" type="boolean" />
              </sequence>
              </complexType>
              <complexType name="ADLevelBpelWS">
                   <sequence>
                        <element name="adLevelStr" type="string" />
                        <element name="id" type="int" />
                   </sequence>
              </complexType>
              <complexType name="NamespaceDataImplBpelWS">
                   <sequence>
                        <element name="ADLevel" type="tns:ADLevelBpelWS" />
                        <element name="description" type="string" />
                        <element name="name" type="string" />
                        <element name="appdataDef" type="apachesoap:Map" />
                   </sequence>
              </complexType>
              <complexType name="CreateSharedNamespaceBpelWS">
                   <sequence>
                        <element name="namespaceData" type="tns:NamespaceDataImplBpelWS" />
              </sequence>
              </complexType>
         <element name="desc" type="string"/>
         </schema>
         <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
                        <complexType name="mapItem">
                             <sequence>
                                  <element name="key" type="string" />
                                  <element name="value" type="string" />
                        </sequence>
                        </complexType>
                        <complexType name="Map">
                             <sequence>
                             <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
                             </sequence>
                        </complexType>
              </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="NsWithMapRequestMessage">
    <part name="payload" element="tns:createNamespace"/>
    </message>
    <message name="NsWithMapResponseMessage">
    <part name="payload" element="tns:transResult"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the NsWithMap BPEL process -->
    <portType name="NsWithMap">
    <operation name="initiate">
    <input message="tns:NsWithMapRequestMessage"/>
    </operation>
    </portType>
    <!-- portType implemented by the requester of NsWithMap BPEL process
    for asynchronous callback purposes
    -->
    <portType name="NsWithMapCallback">
    <operation name="onResult">
    <input message="tns:NsWithMapResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    the NsWithMap partnerLinkType binds the provider and
    requester portType into an asynchronous conversation.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="NsWithMap">
    <plnk:role name="NsWithMapProvider">
    <plnk:portType name="tns:NsWithMap"/>
    </plnk:role>
    <plnk:role name="NsWithMapRequester">
    <plnk:portType name="tns:NsWithMapCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    I am trying to set this map data using java code ,
         HashMap procADMap1 = new HashMap(5);
                   PropertyTypeWS pType = new PropertyTypeWS();
                   pType.setTypeIndex(2);     
              AppdataDefImplWS appData1 = new AppdataDefImplWS();
              appData1.setName("Project");
              appData1.setType(pType);
              appData1.setMaxSize(400);
              appData1.setLOB(false);
         appData1.setDefaultValue("Project Default value");
              procADMap1.put(appData1.getName(), appData1);
              setVariableData("request","createNs","/createNs/namespaceData/appdataDef",procADMap1);     
    Then I am passing request object to the method which I want to invoke from bpel process.
    I am able to deploy the application but when I do post message I am getting following exception,
    NamespaceWithMap (createNamespace) (faulted)
    [2004/09/09 18:35:54] "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown. Less
    faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    code: {Server.userException}
    summary: {org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.}
    detail: {null}
    Is there any other way to handle Map type in bpel process?
    Thanks in advance,
    Sanjay

    Thanks for the quick reply.Actually the web service is already deployed on the server.What I want to do is use existing wsdl file of the deployed web service and invoke the method of the same using oracle PM.
    If I remove element which uses apachesoap:Map type it just works fine also I am getting the complex object returned by the web service method.But when I try to set appDataDef which is of type apachesoap:Map(Axis conversion for java.util.Map and it uses namespace xmlns:apachesoap="http://xml.apache.org/xml-soap") I am getting the error.
    Can you give me some direction to use this exising wsdl file to set map object or it is not possible.

  • Can "SPML Web Service Complex Data Type field" take multiple values ?

    In Generic Technology Connector's -SPML design parameters section, Can we give multiple values in SPML Web Service Complex Data Type field?
    If not, how can i call methods directly instead of calling them through a values of the "name" attribute of the "complexType" element in SPML Web Service Complex Data Type?
    I need 'SPML Web Service Complex Data Type' to hold multiple values.And based on the request it has to initiate appropriate method of action.
    Presently i have three methods add,modify and delete which i am calling through a single value of the "name" attribute of the "complexType" element in SPML Web Service Complex Data Type.
    I want to replace this single value with multiple menthods , so that a direct interaction between the method,OIM and target can be established.
    Edited by: 821054 on 16/02/2011 04:23

    Thanks Robert.
    You'll need to create your own interface to the webapp database for those kind of data operations
    by this, are you speaking of the internal BC database which stores web app schema data? That would be great if it were possible to update that programmatically because I need to use the List (Checkbox List) field type (for the search functionality), but I need to supply the checkbox options from a web app rather than by manually updating the list entered in the Fields view of the web app settings (shown below).
    I'm curious if anyone else has tried this?
    Again, my reason for needing to use the List (Checkbox List) field type is that the page which processes searches knows to expect a comma separated list for this field type and then appears to be parsing out the individual values for searching out web app items with 1 or more matching values. You're right that text fields (string and multiline) just check for 'string contains' matches, and this would be ok if I was only ever needing to search just one value at a time. Here's an example of what I might do:
    Web App item field value (as recorded against the List (Checkbox List) field type:
    8294877,8294878
    Web App Search value (for this same field):
    8294879,8294877,8294885
    The search would return this web app item because the field contains 2 (1 or more) individual values even though they were entered into the search field in a different order. If this web app item were just a Text (string or multiline) field, the searched value is not a substring of the web app item's stored value, so it would not find a match. Hence the need to use Checkbox List field type.
    The web app will have thousands if not 10s of thousands of records, so dumping them all into one big array or object and searching on the front-end won't be practical (though it works great on smaller datasets).

  • Flex 4 - Complex objects in a web service response are null

    I'm using a web service (imported by the data services tool) that returns an array of objects.  The service returns the array just fine, except the objects aren't being created correctly.
    The objects (we'll call them CPs for now) contain some strings, an int, and 3 other complex objects.  The basic fields (strings, ints, booleans) show up just fine, but the complex objects all show up as null.
    The web service is working properly, and I can see that the response it's getting is correct.
    If anybody has any help regarding this issue, I'd greatly appreciate it.
    Thanks!

    There should be classes generated by the tool that map to the types in the
    WSDL, and then the actual webservice response has to match the types in the
    WSDL.  If there is some discrepancy, the conversion will not happen
    correctly.
    Also, the generated classes must be linked into the SWF.  If you comment
    them out of your code somehow, then they won't be available for the
    conversion.  Generate a link-report and make sure they are in.
    You might also have trouble if you do not use the generated WebService and
    go directly to mx:WebService.

  • Business Objects and Data Services on VMWare

    My company has a requirement to deploy Business Objects 4.0 as well as Data Services.
    We are going to be deploying them on Windows Server 2008 R2, hosted on a VMWare cluster.  I have reviewed the PAM, but my question is:
    Will these run using SQL Server 2008 R2 as a database? I see "SQL Server 2008" and I am just curious whether R2 is also supported?
    Thanks.

    Hi,
    SQL Server 2008 R2 is listed in the PAM for DS as Repo DB. For BI4 it is also working and supported. I installed it already on it.
    Regards
    -Seb.

  • Viewing data kept in "services for object" for several objects in alv grid?

    Dear Experts,
    Is it possible to view the data kept in "services for object" (The Button at topleft side of title bar of Master data header screen of objects like Functional Location/Equipment/Notification/Order) for several objects in one list like ALV?
    Please guide how to do it.
    Thanks and Regards,
    R N Sabat.

    Hi,
    The data stored in service object can be viewed latter on in change/display mode
    Kapil

  • Extract account Based COPA from R/3 using Business Object data services

    Hello,
    We have a requirement to extract Account Based COPA from SAP R/3 to Teradata using Business Objects data services.
    I have read couple of white papers which give information on Rapid Marts( which are built in packages) already available for some applications like inventory, GL, AP, AR etc. But I could not find anything for COPA.
    Would anyone give me any information on how to use BO data services for COPA?
    Also if there is no rapid mart available for COPA, does anyone know how to create custom data marts in BO Data services?
    Is there any document available on this?
    Please respond as soon as possible.
    Thanks.

    Hi,
    this forum is for the SAP Integration Kit. Would suggest you post your question into the EIM area for Data Services.
    Ingo

  • Web Service Request Collection/Complex Objects doesn't work

    I am unable to call a .net web service using Adobe LiveCycle Designer 8.0. My test web service accepts either a complex object or a collection of the same object.
    EX)
    [WebMethod]
    public string CostChange(CostChangeNotificationItem change1, CostChangeNotificationItem change2)
    return "Success";
    [WebMethod]
    public string CostChangeColl(CostChangeNotificationCol changes)
    return "Success";
    I can successfullly create the connection to the web service. When i drag and drop the connection request/button/and response onto the designer i can call the web service successfully.
    However you never see the request objects on the form unless you change the subforms to flowed and the min and initial count of the object to 1. When this is done the web service never gets called. You can click the button until you are blue in the face with no successful call.

    Hello ,
    our problem was a result of a corrupt database. Please check the Log files in CUCM . have a look for "missed table entries "
    cli
    utils dbreplication repair
    check logs again    the path to the log is displayed after the repair.
    hope it helps
    good luck

  • Web Services with Complex Objects (Urgent !!)

    Hi,
    My last post was on a problem using IBM-RAD (Service) and AXIS2 (Client) in "New to Java" Forum. That is one of the trial scenarios I'm working on nowadays. Hope, I'll get some useful reply soon.
    Now, I need a suggestion about the application I'm working upon. It is as follows:
    (i) The application (i.e. Service Class) takes some primitive,String and/or some bean object as input
    (ii) It returns a bean object [or an array (can use collection class also if possible) of bean objects].
    (iii) The bean properties are primitive,String , other bean objects, and/or some collection object(Vector / ArrayList etc.) i.e. it should handle complex objects.
    (iv) The Service should run on Websphere and Client on Tomcat.
    A pictorial representation is given below:
    [primitive/String/bean object (Input arg)]
    [(Contains  primitive/String/other bean objects/collection class)] Bean <---------> Service <----------------------- Client
    [Calls bean] |===============> Client
    [Returns bean (or array of beans / collection object)]
    I'm now trying (by building test applications) a combination of IBM-RAD (Service) and AXIS2 (Client), but facing problems in handling array of beans and/or collection classes either on Service or on the Client side.
    So, I need some suggestions on whether I'm going the right way, or need to change my approach (or technology). Any suggestion would be appreciated.
    Please reply ASAP, it is urgent.
    Thanks in advance,
    Suman

    no problem for me, so it's not urgent.
    Request for help denied.

  • Question of Business Object Data Service

    hi Expert,
    Now we are doing project for CRM integration to BODS (Business object Data Service).
    There is business request for deduplicate check whole CRM Business partner data base.
    The data quantity is 10Million and most of them are consumer role, we prefer to clean up the BP data via BODS and in CRM we use standard account merge functionality.
    but I not sure whether BODS support deduplicate check for 10M consumer and how to do it?
    Is there any one had experience or idea for this request?
    Br.
    William.

    Sure DS can do that, no doubt about it. But before starting, I recommend you to carefully read the Match Consolidate Transform wiki page. Pay special attention to the setting of the BREAK_KEY that will have a significant impact on the performance and throughput of the matching process.

  • Mapping Objects in Flex Data Services

    Hi My Dear Friends
    This is yogans, i am working in flex for the last 15 days
    and i learned the basic things like syntax, tags, scripts. and i am
    doing
    some data services work now. especially with the help of
    Java Remote objects. I dont know http services and
    webservices(WSDL).
    My doubt here is, I created a user defined object in java
    and i want to send this object through Remote call from flex. how
    can i
    type cast the java object to flex. And i want to add these
    objects to the dataprovider of a datagrid. Please help me in
    acheiving
    this. i will be very thank ful to you in my life. I know
    that i have to create same kind of object in flex. But i dont have
    concrete idea
    please explain me with very simple example step by step . I
    am awaiting in hope that God will send some one to help me.
    Thanks and Regards
    Yogans.s

    Hi,
    If you want to map your actionscript class to your server's
    Java class. You can run a util function
    registerClassAlias("dev.echoservice.Book",Book);
    where "dev.echoservice.Book" is the fully qualify name of
    your java class. Book is your actionscript class.
    Calling this util before you make your remoteobject call. You
    can put this in your actionscript class constructor, it makes this
    call whenever you create your class. However, it seems to be better
    to call it when the class is loaded. To do so you can declare it as
    static
    public static var a:* =
    registerClassAlias("dev.echoservice.Book",Book);
    OR
    You can also declare it as metaData in your class as:
    [RemoteClass(alias="dev.echoservice.Book")]
    However, I found someone saying that it didn't work in sdk
    compilation, but webtier compilation. It might be some
    configuration issue. I haven't tried it yet.
    To display the properties in the dataGrid, you just have to
    either use Array or ArrayCollection. If databinding is involved,
    the datagrid need to know the Collection.Change event. It is better
    to use ArrayCollection, therefore, adding new item to
    arrayCollection the datagrid get repopulate.
    hope it helps!
    William Chan

Maybe you are looking for

  • Here we go again, after 7pm and Infinity 2 becomes...

    Wish I'd avoided BT now, lost faith in them. Calling support is pointless they don't listen. Utter garbage. BBC Watchdog time I guess, seeing as they keep denying theres a problem. I'm not paying for this cr@p. Latancy is 228ms, Youview and Netflix k

  • Exporting text.doc from an InDesign file

    Hello, I have about 400 pages, each with one textframe that is linked throughout all 400 pages. Each page also has a separate 'header' textframe that isn't linked. I need to export just the text from both of these textframes, but the headers need to

  • Importing from  iPhoto '11 to Aperture 3.2 - no keywords imported!

    I've tried importing my IPhoto '11 (9.2) library into Aperture 3.2 now THREE times -- the last time via a clean re-install, yet none of my iPhoto keywords show up with my photos in Aperture.  Otherwise the import went ok.  Any ideas what went wrong a

  • How to implement next_record; (FORMS) in ADF

    Hi, I would like to implements automatically create new record when i press enter on a <af:inputText like next_record in forms, and copying some data from the current rowto the next row thanks Fakhri

  • How to know Memeber or Data rejected during cube load?

    Hi, i am triggering the .CBS file from the DOS batch file. After that i wan to check wether some members and Data are rejected or not. Can you pls help? Regards Shakti