cancel
Showing results for 
Search instead for 
Did you mean: 

Send a table to bpm web service as parameter

Former Member
0 Kudos

Hello,

I need to send a table content to bpm web service as parameter in order to display table content on the approve window.

Does anybody have any sample or how-to guide to do this, i can send single parameters in a single type (1..1), if i make this (1..n) will it be enough to achieve this ? Is there anything else that i need to do to achieve this ?

Regards,

Yasin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello both,

Thanks for your helpful replies.

@Soujanya,  in order to store the data that comes from web service (1..n) i created a context data object with the same data type that i used for the web service wsdl.

However, the cardinality of the context data object is (1..1) and i cannot change it. So how am i going to do the output context mapping for the start event ??

Thanks again,

Yasin

DerIchHH
Explorer
0 Kudos

Hi Yasin,

you cannot change the cardinality from objects placed "direct" in the context. You have to create a "Wrapper"-Datatype, for example "YasinsWrapper" which extends a data object from type u need. Your Wrapper could look like this:


<complexType name="YasinsWrapper">


<sequence>



<element name="YasinsData" type="YasinsWebServiceDataType"




minOccurs="1" maxOccurs="unbounded">


</element>


    </sequence>


</complexType>

After you've created that datatype place a object in your context and map the output-data from your Webservice to "YasinsData"

If you don't have a local ( only within your process model) XSD-File for storing own data types yet create one by rightclicking on Data Types, New XSD... in Project Explorer View.

Good Luck and best wishes,

Martin

SB9
Active Participant
0 Kudos

Hi Yasin,

You need to create or change the WSDL inside Service Interface to make sure it works with 1..n cardinality.

For example, the default trigger would have NewOperationType with parameter in as xsd:string. You can make it point to the xsd or schema which you have created for context data.

Answers (2)

Answers (2)

SB9
Active Participant
0 Kudos

You should be able to send table or array using 1..n to BPM web service. You can store this information in the process context using the same 1..n structure and then show it in Approve screen.

junwu
Active Contributor
0 Kudos

You can check this example.

<xsd:complexType name="BPMRequest">

                <xsd:sequence>

                 

                    <xsd:element name="PDFid" type="xsd:int"></xsd:element>

                    <xsd:element name="GCMs" type="tns:GCM" minOccurs="0"

                        maxOccurs="8">

                    </xsd:element>

                  

                    </xsd:element>

                                                     </xsd:sequence>

            </xsd:complexType>

<xsd:complexType name="GCM">

                <xsd:sequence>

                    <xsd:element name="Code" type="xsd:string"

                        minOccurs="1" maxOccurs="1">

                    </xsd:element>

                    <xsd:element name="Name" type="xsd:string"

                        minOccurs="1" maxOccurs="1">

                    </xsd:element>

                  

                </xsd:sequence>

            </xsd:complexType>