SBL-EAI-04007: Integration Object Message error -- object list property set has wrong type: '%1' (expecting '%2')

Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: 'Marketing Budget Requests' (expecting 'ListOfMarketing Budget Request')(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.
























Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: &apos;Marketing Budget Requests&apos; (expecting &apos;ListOfMarketing Budget Request&apos;)(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.


























Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: &apos;Marketing Budget Requests&apos; (expecting &apos;ListOfMarketing Budget Request&apos;)(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.






















Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: &apos;Marketing Budget Requests&apos; (expecting &apos;ListOfMarketing Budget Request&apos;)(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.


























Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: &apos;Marketing Budget Requests&apos; (expecting &apos;ListOfMarketing Budget Request&apos;)(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.
























Applies to:

Siebel System Software - Version: 7.8.2.2 [19219] and later   [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)


Sun Solaris SPARC (64-bit)


Product Release: V7 (Enterprise)


Version: 7.8.2.2 [19219]


Database: Oracle 9.2.0.6


Application Server OS: Sun Solaris 9


Database Server OS: Sun Solaris 9





This document was previously published as Siebel SR 38-3036901431.






Symptoms

We are designing an Inbound Web Service for interfacing Budget Request with SAP. For this, we have created a custom Integration Object on 'Marketing Budget Request' business object. Then we created a simple Workflow with "Start -> EAI Siebel Adapter -> End steps". Finally we exposed this workflow as an Inbound Web Service.
When we send a SOAP request to this Web Service, we get the following error response..
"Integration Object Message error -- object list property set has wrong type: &apos;Marketing Budget Requests&apos; (expecting &apos;ListOfMarketing Budget Request&apos;)(SBL-EAI-04007)"

Find attached the Integration Object SIF, Workflow, Web Service Export, the WSDL for web service and a Sample SOAP Message that we used.

All we have done to the Wizard generated Integration Object is - removed the Required Flag on the Integration Comp Fields AND Added a User Key "Budget Request Id" in "Marketing Budget Requests" Integration Buscomp.




Cause

The error is related to the following change request :-

Bug 12-11QVOFA - SBL-EAI-04007 with Web service calling workflow process with output arg. of type Integration Object


Solution

Due to the above change request, one possible workaround is to avoid use of scripting and leverage the EAI Siebel Adapter functionality as a webservice.

Detailed step by step example (non-scripting).

This assumes you have already created your custom integration object with Base Object Type = “Siebel Business Object” (An integration object based on a business component).
In this example I will use Sample Quote integration object.

1)    Log in to Siebel Tools local database
2)    Navigate to Business Service and query for EAI Siebel Adapter.
3)    Copy the record (CTRL + B)
4)    Give the copy BOTH a new name and display name. E.g: EAISiebAdapt_SampQuote
5)    For each method of EAISiebAdapt_SampQuote , locate the arguments that have datatype = Hierarchy. Change it to Integration Object and set the “Integration Object” property to the name of the integration object you want to use (in this example it is Sample Quote”).
6)    Ensure you have repeated step 5 for each and every method you intend to use (Query, QueryPage,Execute, etc).
7)    Check in the changes.
8)    Compile the changes into the SERVER SRF File.
9)    Startup the server.
10)    Log in to the THIN client.
11)    Navigate to site Map -> WebServices Administration -> Inbound Webservices and publish the business service EAISiebAdapt_SampQuote as a webservice.
a.    (Top applet) Namespace: http://siebel.com/test | Name : TestWF | Status : Active
b.    (middle applet, Service Ports) Name: TestWF | Type : Workflow Process | Business Service : EAISiebAdapt_SampQuote | Transport : HTTP | Address : http://<webserver_name_here>/eai_enu/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&UserName=SADMIN&Password=SADMIN | Binding : SOAP_RPC_ENCODED
c.    (Lower applet: operations) Name : RunmyWF | Method : RunProcess
12)    Make sure the Status is Active.
13)    Click Clear Cache
14)    Click generate WSDL and save the file.
This is enough to publish a WSDL for one specific Integration object.
If you wish to create other WSDLs for other integration objects, please repeat the process again (copy the EAI Siebel Adapter business again , change the arguments to a specific Integration Object , compile and publish the webservice).

If you want to test this with a Siebel Dedicated client and SAMPLE database, just to ensure the webservice works : (Please refer to technote 626 for more details.)

1)    Log in to Siebel Tools SAMPLE database
2)    File -> New Object -> EAI tab -> Webservice. Specify the project, and the WSDL and follow the rest of the wizard.
3)    Compile against the DEDICATED CLIENT SRF file the project you specified in (2).
4)    Log in to the DEDICATED client against the SAMPLE database.
5)    Navigate to Site Map -> Administration Webservices -> Outbound Webservices.
6)    Click the IMPORT button and import the XML (not the WSDL) , generated by the Tools wizard.
7)    Your Outbound (from the perspective of the client + sample database) is imported.
8)    Look at the log file generated by the tools import and find out the name of the PROXY business service.
9)    Test it in the DEDICATED client against SAMPLE database by navigating to Site Map- > Administration - Business Service -> Simulator. (the detailed steps are in technote 626).
10)    Add a new record, specify the proxy business service name and the method. Look up in Tools the arguments names.
In my test it was EAI Siebel Adapter Sample Quote_Query_Input:OutputIntObjectName = Sample Quote AND EAI Siebel Adapter Sample Quote_Query_Input:PrimaryRowId = <a valid quote row id>
11)    Go to the top applet and click run.

NOTE: This is just a SUGGESTION . No guarantee implicit or explicit is provided here as designing a solution is beyond the scope of Technical Support and a task better suited for consultants, such as Expert Services.

There might be other ways to implement and this one has been tested on a very simple scenario.

Make sure you thoroughly test and refine the solution before you apply it to a production system.

Note, Bug 10499502 is marked as fixed in Siebel version 7.8.2.4 and higher.








תגובות

פוסטים פופולריים מהבלוג הזה

FINS Data Transfer Utilities

SBL-BPR-00191: The rowId of the active row of the primary buscomp '%1', '%2', does not match the Primary Id

Profile Attributes and Open UI