Complex Type as prameter

I am exposing session beans as web services. My question is how can I use a
user defined object as a parameter in the client.
The scenario is like this.
I invoke a method on an EJB through Webservice A and and it returns me an
object of type let's say MYType
On the client it will be packageA.generated.MYType (originally on server it
is packageA.MYType)
I want to call another EJB through Web Service B with MYType as parameter.
But it expects the pramaeter type to be
packageB.generated.MyType on the client
Is there way Ican do this automatically rather than me doing a manul
tranlation?
I looked at faq on webservice.bea.com for "How do you use user-defined
complex datatypes as parameters of the method?". It says the following:
A) You need to register your "custom" data types with the typemapper. Your
Main.java class should have some lines in it that look something like these:
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(
SOAPConstants.URI_NS_SOAP_ENCODING );
mapping.register( SOAPElement.class,
new
QName("http://localhost:7001/CVCProxy/CVCProxy/WSDL/eVisharad.BEMEE.Client.E
EService.CVCProxy",
"CVCRequestToken" ),
new SOAPElementCodec(),
new SOAPElementCodec()
But is is not clear what to do after that (to map the retunred type to it's
original server side type or another client type). Please help.
Thanks,
Vish

Hi Vish,
I'd say the easiest way to go about this, is to create a "ReuseableTypes" web
service that contains "echo" operations for each reuseable complex type. For
example:
package com.acme.webservices.datatypes;
public MyTypeOne echoMyTypeOn(MyTypeOne mto)
return mto;
public MyTypeTwo echoMyTypeTwo(MyTypeTwo mtt)
return mtt;
The "service implementation" can just be a POJO (plain old Java object). Then
use the <servicegen><service> and <servicegen><client> Ant tasks to do all the
"hard stuff" (i.e. generating type mappings, serializers, deserializers) for you.
Make sure you make the targetNamespace equal to the Java package you want all
the reuseable types to be in. It can start with "http://", but the next part should
match the Java package name you want (i.e. com.acme.webservices, etc). Afterwards,
you can just unzip the client jar that's created to see what the client-side type
mapping needs to looks like. There will be a MyService.xml file in the client
jar that contains this.
Regards,
Mike Wooten
"Vish Magapu" <vm> wrote:
Hi Michael,
Thanks for your response. That is what I want to do: "reuse user-defined
complex types across web services"
I was hoping to use my EJB knowledge and use web services as a transport
in
place of RMI and wanted to avoid lerning about JAX-RPC. It seems I have
to
take a plunge. I will work on you pointer about defining XSD schema.
Please
let me know if you know resources about that.
Vish
"Michael Wooten" <[email protected]> wrote in message
news:[email protected]...
Hi Vish,
If you want to reuse "user-defined" complex types across web services,you
probably
want to define then in a seperate XSD schema, and include this in theweb-services.xml.
Thay way the WSDL will be generated using the same complex types forboth.
I'm
not sure if there is a way to do this without manually editing theweb-services.xml
(the Web Service Deployment Descriptor).
Knowing a little about how to code XML schema from scratch, is a goodand
powerful
thing :-)
Regards,
Mike Wooten
"Vish Magapu" <vm> wrote:
I am exposing session beans as web services. My question is how can
I
use a
user defined object as a parameter in the client.
The scenario is like this.
I invoke a method on an EJB through Webservice A and and it returns
me an
object of type let's say MYType
On the client it will be packageA.generated.MYType (originally onserver
it
is packageA.MYType)
I want to call another EJB through Web Service B with MYType asparameter.
But it expects the pramaeter type to be
packageB.generated.MyType on the client
Is there way Ican do this automatically rather than me doing a manul
tranlation?
I looked at faq on webservice.bea.com for "How do you use user-defined
complex datatypes as parameters of the method?". It says the following:
A) You need to register your "custom" data types with the typemapper.
Your
Main.java class should have some lines in it that look something like
these:
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(
SOAPConstants.URI_NS_SOAP_ENCODING );
mapping.register( SOAPElement.class,
new
QName("http://localhost:7001/CVCProxy/CVCProxy/WSDL/eVisharad.BEMEE.Client.
E
EService.CVCProxy",
"CVCRequestToken" ),
new SOAPElementCodec(),
new SOAPElementCodec()
But is is not clear what to do after that (to map the retunred typeto
it's
original server side type or another client type). Please help.
Thanks,
Vish

Similar Messages

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

  • Cannot assign value to a Variable of Complex Type beyond index 1

    Hello:
    I have a variable defined as a complex type as followed. I tried to assign a value to each of the two elements but it only allows me to assign to the 'element#1.
    This statement that tries to assign a value into element#2 will not work, if I assign with '[1]' for the first element it will work:
    <copy> <---- THIS WORKS
    <from expression="'John'"/>
    <to variable="My_Variable"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item[1]/ns9:pname"/>
    </copy>
    <copy> <---- THIS DOES NOT WORK
    <from expression="'John'"/>
    <to variable="My_Variable"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item[2]/ns9:pname"/>
    </copy>
    Is there something wrong with my definition below that allows only element#1 to be refererenced but not element#2???? Am I missing some kind of initialization that is needed to initialize both elements????
    Here are my message and Complex Type definitions:
    <variable name="My_Variable" messageType="ns8:args_out_msg"/>
    <message name="args_out_msg">
    <part name="My_Collection" element="db:My_Collection"/>
    </message>
    <element name="My_Collection">
    <complexType>
    <sequence>
    <element name="Collection" type="db:Collection_Type" db:index="2" db:type="Array" minOccurs="0" nillable="true"/>
    <element name="Ret" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="Collection_Type">
    <sequence>
    <element name="Collection_Item" type="db:Collection_Type_Struct" db:type="Struct" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="Collection_Type_Struct">
    <sequence>
    <element name="pname" db:type="VARCHAR2" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    The error msg it gives me is as followed:
    [2010/09/04 00:47:59] Error in <assign> expression: <to> value is empty at line "254". The XPath expression : "" returns zero node, when applied to document shown below:less
    oracle.xml.parser.v2.XMLElement@1fa7874
    [2010/09/04 00:47:59] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.less
    -<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    -<part name="summary">
    <summary>
    XPath query string returns zero node.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity &lt;to&gt; part query should not return zero node.
    Please check the BPEL source at line number "254" and verify the &lt;to&gt; part xpath query.
    </summary>
    </part>
    </selectionFailure>
    Thanks
    Newbie

    Hello:
    Base on the suggestion to use 'append' instead of 'copy', I tried to define a 'singleNode' which is of type 'Collection_Type_Struct' so I can append this individual 'struct' into my array (i.e. as the 2nd. element of my array "/ns9:My_Collection/ns9:Collection/ns9:Collection_Item"), but I am getting an error in defining this variable as:
    <variable name="singleNode" element="Collection_Type_Struct"/> <--- error
    Can someone tell me how should I define "singleNode" so I can put a value in it and then append this 'singleNode' into the array:
    <variable name="singleNode" element=" how to define this????"/>
    <assign>
    <copy>
    <frem expression="'Element2Value'"/>
    <to variable="singleNode"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item/ns9:pname"/>
    </copy>
    </assign>
    <bpelx:assign>
    <bpelx:append>
    <from variable="singleNode" query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item"/>
    <to variable="My_Variable"
    "part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection"/>
    </bpelx:append>
    </bpelx:assign>
    Again here is my definition in my .xsd file:
    <element name="My_Collection">
    <complexType>
    <sequence>
    <element name="Collection" type="db:Collection_Type" db:index="2" db:type="Array" minOccurs="0" nillable="true"/>
    <element name="Ret" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="Collection_Type">
    <sequence>
    <element name="Collection_Item" type="db:Collection_Type_Struct" db:type="Struct" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="Collection_Type_Struct">
    <sequence>
    <element name="pname" db:type="VARCHAR2" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    Thanks for any help!!!!

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

  • How to invoke a Web Service from PL/SQL with Complex Type as  input.

    Hello,
    I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
    The web service expects a complex type as input (defined below):
    <xs:complexType name="MsgType">
    <xs:sequence>
    <xs:element name="sender" type="xs:string"/>
    <xs:element name="messageId" type="xs:string"/>
    <xs:element name="messageType" type="xs:string"/>
    <xs:element name="dateSent" type="xs:date"/>
    </xs:sequence>
    </xs:complexType>
    How to construct input to this in PL/SQL Procedure?
    Has any body tried this before?
    An exmaple will be helpful.
    Thanks

    Dear,
    I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
    When running, the error occurs:
    1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name &quot;password&quot; associated with an element type &quot;user&quot; must be followed by the &apos; = &apos; character.
    My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
    I make PL/SQL (similiar as your example)
    FUNCTION INVOKESENDMT
    RETURN VARCHAR2
    AS
    l_request soap_api.t_request;
    l_response soap_api.t_response;
    l_return VARCHAR2(32767);
    l_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_method VARCHAR2(32767);
    l_soap_action VARCHAR2(32767);
    l_result_name VARCHAR2(32767);
    p_zipcode VARCHAR2(160);
    BEGIN
    --p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
    p_zipcode:='TEST';
    -- Set proxy details if no direct net connection.
    --UTL_HTTP.set_proxy('myproxy:4480', NULL);
    --UTL_HTTP.set_persistent_conn_support(TRUE);
    -- Set proxy authentication if necessary.
    --soap_api.set_proxy_authentication(p_username => 'TEST',
    -- p_password => 'TEST');
    l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
    l_namespace := 'xmlns="' || l_url || '"';
    l_method := 'sendMT';
    l_soap_action := l_url || '#sendMT';
    l_result_name := 'sendMTResponse';
    l_request := soap_api.new_request(p_method => l_method,
    p_namespace => l_namespace);
    soap_api.add_parameter(p_request => l_request,
    p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
    p_type => 'xsd:string',
    p_value => p_zipcode);
    l_response := soap_api.invoke(p_request => l_request,
    p_url => l_url,
    p_action => l_soap_action);
    l_return := soap_api.get_return_value(p_response => l_response,
    p_name => l_result_name,
    p_namespace => l_namespace);
    RETURN l_return;
    END;

  • Help on Index creation on complex type

    Hi:
    I have some problem in creating indexes on columns related to complex types.
    Here is the steps performed
    1)
    I registered a schema with complextypes. The relevant part of the schema is as below:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
         <xs:element name="ProteinEntry" type="ProteinEntryType"/>
         <xs:complexType name="ProteinEntryType">
              <xs:sequence>
                   <xs:element name="header" type="headerType"/>
                   <xs:element name="protein" type="proteinType"/>
                   <xs:element name="organism" type="organismType"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:ID" use="required"/>
         </xs:complexType>
    <xs:complexType name="organismType">
              <xs:sequence>
                   <xs:element ref="source"/>
                   <xs:element ref="common" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>
    </xs:schema>
    2) I registered this schema and I created a table "bioseq" of xmltype based on the schema.
    3)when i do a describe of bioseq I get the following:
    SQL> desc bioseq
    Name Null? Type
    TABLE of SYS.XMLTYPE(XMLSchema "http://accelrys.com/pir_edited_pir3.xsd" Element "ProteinEntry") STORAGE Object-relational TYPE "ProteinEntryType551_T"
    4) when I do a describe of "ProteinEntryType551_T" I get the following :
    SQL> desc "ProteinEntryType551_T";
    "ProteinEntryType551_T" is NOT FINAL
    Name Null? Type
    SYS_XDBPD$ XDB.XDB$RAW_LIST_T
    id VARCHAR2(4000)
    organism organismType511_T
    reference reference552_COLL
    desc "organismType511_T" gives the following:
    SYS_XDBPD$ XDB.XDB$RAW_LIST_T
    source VARCHAR2(4000)
    common VARCHAR2(4000)
    What I want to do is create an index on the column source. I tried several syntaxes but failed. Is it possible to do this.
    Sudhakar

    Look at the Whitepaper on XML DB and the latest version of the XML DB Demo. It shows how to do this.

  • How to pass values to XML complex type of a Webservice using PL/SQL

    HI,
    I need to call a web service from PL/SQL that has an complex type element. That complex type element has 4 child elements each of integer type.
    I want to pass values for this complex type using SOAP_API.add_parameter but I can't understand how to pass the values.
    <xsd:element name="getBestFit">
              <xsd:complexType>
                   <xsd:sequence>
                        <xsd:element maxOccurs="1" minOccurs="1" name="circleId" type="xsd:string"/>
                        <xsd:element maxOccurs="1" minOccurs="1" name="usage" type="Q1:UsageInfoType"/>
                   </xsd:sequence>
              </xsd:complexType>
         </xsd:element>
    <complexType name="UsageInfoType">
         <sequence>
              <element maxOccurs="1" minOccurs="1" name="a1" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a2" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a3" type="int"/>
              <element maxOccurs="1" minOccurs="1" name="a4" type="int"/>
         </sequence>
    </complexType>
    Please help me in getting a solution here.
    Thanks in advance.

    Have you tried doing a google search on "SOAP_API.add_parameter" to see what comes back? I see a lot of hits come back so hopefully one of those will help you. I've never used soap_api as I used utl_http to make WS calls. This required me to build the SOAP message (aka XML of a specific nature) by hand and then pass it to the WS using utl_http. How this approach is done via SOAP_API, I can't say.

  • Web Services and Nested Complex Types

    I am having troubles trying to get coldfusion to use a web
    service function.
    I know that the web service works as I am sending another
    function in a simple variable and receiving a simple variable. I
    know the function exists as I when I dump the object the function
    is there and I have been told by who supplies it that it works in
    other languages.
    The problem I am having is that when I call the function I
    get the following error: Web service operation "[function name]"
    with parameters [parameters] could not be found. I am lead to
    believe that it may have to do with the fact that one of the
    parameters is a complex type with nested complex types, because of
    the amount of trouble it took to get nested complex types to
    (apparently) work.
    Has anyone had this problem before and/or know how to fix
    it?

    You can invoke methods which take complextypes as parameters.
    The idea is to create first a structure which represents the
    complextype. For example; crit = structNew(), crit.paramname1 =
    value1, ctir.paramname2 = value2. After this, you just pass the
    structure
    crit as a parameter value, for example with
    <cfinvokeargument>.
    Always check the wsdl and the possible documentation
    carefully. You'll get always an error if the types of the
    parameters passed didn't match exactly to what was expected.
    Handling complextype responses is also possible, but not very
    elegant with ColdFusion.
    For example, you have <cfinvoke
    returnvariable="wsResult"... >, and you get a java object as a
    response which you can really do nothing about with CF functions,
    you must use Java Reflection API to extract the values.
    <cfset oFields =
    wsresult.getClass().getDeclaredFields()>
    <cfoutput>
    <cfloop from="1" to="#arraylen(oFields)#" index="fi">
    <cfset field = oFields[fi].getName()>
    <cfif isdefined("wsresult." & field) AND field NEQ
    "typedesc">
    #field# = #wsResult[field]#<br>
    </cfif>
    </cfloop>
    </cfoutput>
    The above is just an example, and It might work with only
    some types of complextype responses. But it's a start. :)
    http://www.mail-archive.com/[email protected]/msg00553.html
    is also another example about handling complextype responses. It
    plays "safer", not relying that CF can extract values without
    "getters" automatically, and is more of a complete solution.

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

  • Web Services Data Control - Complex type bindings

    I am calling a web services using the web service data control. The request object is a complex type. I observed that some data managed to bind but some failed to bind (empty value on the outbound SOAP payload). Specifically, all the "scalar" elements within the complex type managed to bind. For example the following element snippet within the overall complex data did not bind the value entered to the SOAP payload:
    <xsd:element minOccurs="0" name="zones">
    <xsd:annotation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element type="xsd:string" maxOccurs="unbounded" minOccurs="1" name="zone"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    While the following complex element within the same payload managed to bind value entered:
    <xsd:element minOccurs="0" name="orderBy">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="1" name="orderByItem">
    <xsd:complexType>
    <xsd:all>
    <xsd:element type="xsd:string" name="fieldName"/>
    <xsd:element type="xsd:boolean" name="ascending"/>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    Any bug report of this?
    Cheers
    Boon

    Hi Frank,
    Thanks for the response. I looked further into the problem. This is what I found.
    This is error message:
    javax.xml.ws.soap.SOAPFaultException: Foundation Engine Error: '' is an Invalid search zone. Valid zones include: 'id_object','name','published.name','comment_text','published.comment_text','note','document_extension','published.document_extension','physical_id','file_title','published.created_by','content'
    I turned on the trace and found the following message:
    [SRC_METHOD: parse] [225] No XML file /ObjectiveSearch/send/params/searchRequest/searchInput/searchInfo/zones/zones.xml for metaobject ObjectiveSearch.send.params.searchRequest.searchInput.searchInfo.zones.zones
    But when I looked into the model directory, I only able to find:
    H:\JDeveloper\AdvancedSearch\Model\adfmsrc\ObjectiveSearch\send\params\searchRequest\searchInput\searchInfo\zones\zone.xml
    It seems that WS data controller adapter is looking for zones/zones.xml. The wsdl specify zones with sub-elements(sequence) of zone (see wsdl below). The correct structure (zones/zone) is shown on the web service data control pallete and I can bind it to a JSF page.
    wsdl:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:tns="urn:objective.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xi="http://www.w3.org/2001/XInclude" targetNamespace="urn:objective.com" name="searchService">
    <wsp:Policy wsu:Id="WSSPortBindingInputPolicy">
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:TransportBinding>
    <wsp:Policy>
    <wsp:All>
    <sp:TransportToken>
    <wsp:Policy>
    <sp:HttpsToken RequireClientCertificate="false"/>
    </wsp:Policy>
    </sp:TransportToken>
    <sp:AlgorithmSuite>
    <wsp:Policy>
    <sp:Basic128/>
    </wsp:Policy>
    </sp:AlgorithmSuite>
    <sp:Layout>
    <wsp:Policy>
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:Strict/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </sp:Layout>
    <sp:IncludeTimestamp/>
    </wsp:All>
    </wsp:Policy>
    </sp:TransportBinding>
    <sp:EndorsingSupportingTokens>
    <wsp:Policy>
    <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
    <wsp:Policy>
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:WssX509V3Token10/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </sp:X509Token>
    </wsp:Policy>
    </sp:EndorsingSupportingTokens>
    <sp:SignedParts>
    <sp:Body/>
    </sp:SignedParts>
    <sp:SignedSupportingTokens>
    <wsp:Policy>
    <wsp:All>
    <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
    <wsp:Policy>
    <sp:NoPassword/>
    </wsp:Policy>
    </sp:UsernameToken>
    </wsp:All>
    </wsp:Policy>
    </sp:SignedSupportingTokens>
    <sp:Wss11>
    <wsp:Policy>
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:MustSupportRefIssuerSerial/>
    <sp:MustSupportRefKeyIdentifier/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </sp:Wss11>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    <wsp:Policy wsu:Id="WSSPortBindingOutputPolicy">
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:EndorsingSupportingTokens>
    <wsp:Policy>
    <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always">
    <wsp:Policy>
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:WssX509V3Token10/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </sp:X509Token>
    </wsp:Policy>
    </sp:EndorsingSupportingTokens>
    <sp:SignedParts>
    <sp:Body/>
    </sp:SignedParts>
    <sp:Wss11>
    <wsp:Policy>
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:MustSupportRefIssuerSerial/>
    <sp:MustSupportRefKeyIdentifier/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    </sp:Wss11>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    <types>
    <xsd:schema targetNamespace="urn:objective.com">
    <xsd:simpleType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:objective.com:ecosys" name="logicalOperatorType">
    <xsd:annotation>
    <xsd:documentation>The type of join of the condition 'and' 'or'.
                   </xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
    <xsd:enumeration value="and"/>
    <xsd:enumeration value="or"/>
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:objective.com:ecosys" name="expressionType">
    <xsd:sequence>
    <xsd:choice maxOccurs="unbounded" minOccurs="0">
    <xsd:element maxOccurs="unbounded" minOccurs="0" type="tns:expressionType" name="expression"/>
    <xsd:element maxOccurs="unbounded" minOccurs="0" type="tns:metadataCondition" name="condition"/>
    </xsd:choice>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:objective.com:ecosys" name="metadataCondition">
    <xsd:annotation>
    <xsd:documentation>
    </xsd:documentation>
    </xsd:annotation>
    <xsd:all>
    <xsd:element type="tns:logicalOperatorType" name="logicalOperator"/>
    <xsd:element type="xsd:string" name="field"/>
    <xsd:element type="xsd:string" name="operator"/>
    <xsd:element minOccurs="0" type="xsd:string" name="value"/>
    </xsd:all>
    </xsd:complexType>
    <xsd:element xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:objective.com:ecosys" name="searchRequest">
    <xsd:annotation>
    <xsd:documentation>
    </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:all>
    <xsd:element name="searchInput">
    <xsd:complexType>
    <xsd:all>
    <xsd:element name="searchInfo">
    <xsd:complexType>
    <xsd:all>
    <xsd:element minOccurs="0" name="objectTypes">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="1" type="xsd:string" name="objectType">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:int" name="numResults">
    <xsd:annotation>
    <xsd:documentation>The maximum number of results to     search for.</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:boolean" name="showDeleted">
    <xsd:annotation>
    <xsd:documentation>Show deleted objects in the search results?</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="textQuery">
    <xsd:annotation>
    <xsd:documentation>A Verity text query, by default the     syntax of the query is "Internet" but can also be changed     to 'Verity' via the query syntax argument.</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element type="xsd:string" minOccurs="0" name="syntax">
    <xsd:annotation>
    <xsd:documentation>The syntax of the search query either
                                                                     'Internet' (default) or 'Verity'.</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" name="searchScopes">
    <xsd:annotation>
    <xsd:documentation>Search scopes to include in the
                                                                     search.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element type="xsd:string" maxOccurs="unbounded" minOccurs="1" name="searchScope"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element minOccurs="0" name="zones">
    <xsd:annotation>
    <xsd:documentation>Search zones to include in the
                                                                     search.</xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element type="xsd:string" maxOccurs="unbounded" minOccurs="1" name="zone"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element type="xsd:string" minOccurs="0" name="attributes">
    <xsd:annotation>
    <xsd:documentation>The attributes used when fetching
                                                                     results (these attributes are passed to inspect).
                                                                </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="behaviours">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="sections">
    <xsd:annotation>
    <xsd:documentation>     </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" name="orderBy">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element maxOccurs="unbounded" minOccurs="1" name="orderByItem">
    <xsd:complexType>
    <xsd:all>
    <xsd:element type="xsd:string" name="fieldName"/>
    <xsd:element type="xsd:boolean" name="ascending"/>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="searchRoot">
    <xsd:annotation>
    <xsd:documentation>The root container of the search, for a constrained search.</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="depth">
    <xsd:annotation>
    <xsd:documentation>The depth to traverse.</xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    <xsd:element xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:objective.com:ecosys" name="searchResult">
    <xsd:complexType>
    <xsd:all>
    <xsd:element type="xsd:string" name="resultId">
    <xsd:annotation>
    <xsd:documentation></xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element type="xsd:int" name="numberOfResults">
    <xsd:annotation>
    <xsd:documentation>     </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element type="xsd:boolean" name="sorted">
    <xsd:annotation>
    <xsd:documentation>     </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    <xsd:element minOccurs="0" type="xsd:string" name="sortError">
    <xsd:annotation>
    <xsd:documentation>     </xsd:documentation>
    </xsd:annotation>
    </xsd:element>
    </xsd:all>
    <xsd:attribute name="instanceDomain" type="xsd:string"/>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    </types>
    <message name="searchRequest">
    <part name="searchRequest" element="tns:searchRequest"/>
    </message>
    <message name="searchResult">
    <part name="searchResult" element="tns:searchResult"/>
    </message>
    <portType name="searchPortType">
    <operation name="send">
    <input message="tns:searchRequest"/>
    <output message="tns:searchResult"/>
    </operation>
    </portType>
    <binding name="searchBinding" type="tns:searchPortType">
    <wsp:PolicyReference URI="#WSSPortBindingInputPolicy"/>
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="send">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <wsp:PolicyReference URI="#WSSPortBindingOutputPolicy"/>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="searchService">
    <documentation>"search" service.</documentation>
    <port name="searchPort" binding="tns:searchBinding">
    <soap:address location="https://youContentServer:443/services/search"/>
    </port>
    </service>
    </definitions>
    Cheers
    Boon

  • SSIS Web Service Complex Type Inputs

    Hi,
    I am trying to make a call to a third-party web service in my SSIS package.  The request has custom complex data type as the parameter.  As has been pointed out in this forum before, the Web Service Task only lets you assign the outside parameter from a variable, not the internal parameters needed to create the complex data type. 
    To be more specific, the web service input wants a 'ContactSearchRequest' parameter.  I can assign this from a variable.  If I click on the 'value' field under the 'Input' section for the web service task, it shows me that the 'ContactSearchRequest' data type is made up of the following:
    contactId - long
    numResults - int
    offset - int
    passKey - string
    searchParam - string
    sortType - int
    Unfortunately, I can't assign these internal parameters from a variable, at least not through the web service task interface.
    My next thought was to create a variable of type 'object' and then set it in a script task prior to calling the web service task.  However, I'm not sure exactly how to do this.  How will my script know about the class definition of 'ContactSearchRequest'?  Do I just create a class called 'ContactSearchRequest'?
    I've used this same web service in a .NET C# project and after I imported the web service, visual studio knew all about the custom data types.  How do I do something similar in SSIS?
    Of course, the easiest solution would for Integration Service to allow me to set those internal parameters via variables, but we're apparently not there yet.
    Any suggestions?
    Thanks,
    Trey

    Hi All,
    I am trying to pull the data from a webservice. The method expects 5 parameters out of which one is a complex type. And it is fine to pass Null value for this parameter.
    The method expects a complex data type UrlReportFilter
    as follows:
    <simpleType name="UrlReportFilterOperatorEnum">
     <restriction base="xsd:string">
    <enumeration value="contains"/>
    <enumeration value="starts_with"/>
    <enumeration value="ends_with"/>
    <enumeration value="not_contains"/>
    <enumeration value="not_starts_with"/>
    <enumeration value="not_ends_with"/>
    <enumeration value="match_regular_expression"/>
    <enumeration value="not_match_regular_expression"/>
    <enumeration value="exact_match"/>
    </restriction>
    </simpleType>
    <complexType name="UrlReportFilter">
    <sequence>
    <element name="caseSensitive" type="xsd:boolean"/>
    <element name="operand" nillable="true" type="xsd:string"/>
    <element name="operator" nillable="true" type="akaaimsdt:UrlReportFilterOperatorEnum"/>
    </sequence>
    </complexType>
    How to assign values and use this in VB.NET code? 
    I am using following code to assign the values to the properties in VB.NET code in Script task but it is throwing the error below:
     Dim vUrlFilter As New Akamine.UrlReportFilter With {.caseSensitive = False, .operand = ""}
    Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.Services.Protocols.SoapException: AWSFault:Error in processing:(com..aws.services.exceptions.InvalidColumnException: Invalid column:
    for report:H
    Any help on this would be appreciated!!
    Thanks,
    Ruby
    Thanks & Regards

  • Web service Complex type

    hello i want to ask if i can make a complex type that is composed of many other classes and witch databinding framework should i use to do do the mapping from xml to my one classes not the auto generated classes thanks for your help.

    Hi Ray,
    I just had you set your "per" object to its constructor out of habit. Don't know about you, but I spend too much time chasing null pointer exceptions.
    Try this. It's easy and quick.
    1) Hold your mouse over the ObtenerPersonaActivaDadoCI() method in the Project Navigator tab. By doing this, I'm guessing you'll see it's not returning a Persona object.
    or
    2) Simply drag the ObtenerPersonaActivaDadoCI() method from the Project Navigator tab into your logic. By doing this, you'll notice that it has a value in front of the "=" sign. Again, I'm guessing you'll see it's not returning a Persona object.
    Even though the Persona object and the object that ObtenerPersonaActivaDadoCI() returns both have the same list of attributes, I believe that you'll continue to get the error you're seeing if you try to set per (since it's an Persona object) to the value returned form ObtenerPersonaActivaDadoCI().
    To get around the problem, let's say you instead have the ObtenerPersonaActivaDadoCI() method return it's value to an "opadCI" object (the type of object you found out that the method returns by doing 1 or 2 above). You might want to fix your problem by doing something like this:
    per.firstAttr = opadCI.firstAttr
    per.sedondAttr = opadCI.sedondAttr
    per.thirdAttr = opadCI.thirdAttr
    Hope this helps,
    Dan

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

  • 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

Maybe you are looking for

  • No audio for avi files in Quicktime

    Hi, like many others I'm having difficulty trying to restore audio to avi videos. It seems to be a codec related problem but I'm not sure. My Quicktime folder contains: AC3 MovieImport.component AppleIntermediateCodec.component Flip4Mac WMV Export.co

  • DME Dowload file error "FILE SPECIFIED IS EMPTY"

    Hi Guru, I have run  Payment program and i have generated payment medium for flat file also done all the config settings to generate Payment medium.It has created data medium for the payment run and found the entry. When give download in DME admistra

  • SVG problem in FF 2.0

    Some SVG charts are not correctly displayed in FF20. Wrong outputs in FF are like: "PIE:Chart 1Chart 1druga : 12%prva : 14%treća : 25%četvrta : 49% -" or "PIE:Popup Javni : 28.6%Apex Errors : 8.4%Pregled izdavatelja : 4.4%Kontakt : 3.9%e : 3.8%O agen

  • What is the Best Easy Setup options on FCE 4 for Sony DCR-VX2000E PAL?

    Could someone please advise which options I should select in the easy set up box in Final Cut Express 4? Camera in use is: SONY DCR-VX2000E PAL. There are a few different options... either DV PAL.. or DV PAL with various options next to it.. and i do

  • Require coding logic

    Hi, I need a logic for the below requirement, Internal table 1 will have around 13 fields ex: a, b, c, d,.. m Interanal table 2 has a field called FIELD which will have the field name ex a,b,c,d.. (field name is nothin but the fields in the internal