cancel
Showing results for 
Search instead for 
Did you mean: 

B1if ProjectsServices

0 Kudos

Hello All:

     Doing a very simple project services integration.

services setup parameter as below

Inbound payload for the services as:

<place_here_your_B1_Service_Schema xmlns="">

<Project>

<Code>PRJ01</Code>

<Name>TEST PROJ</Name>

</Project>

</place_here_your_B1_Service_Schema>

I am getting this error message

com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception:com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception:java.lang.RuntimeException: com.sap.smb.sbo.wrapper.com.ComFailException: Invoke of: GetDataInterfaceFromXMLStringSource: SapBobsCom.ProjectsService.90.0Description: Invalid data entity

Any help is much appreciated. Thank you!

Accepted Solutions (1)

Accepted Solutions (1)

bastian_schaefer
Active Contributor
0 Kudos

Hi Bo,

The ProjectsService has two Request Keys (Code,Name), please check the following screenshot of my B1 Service atom:

and the payload of atom2:


<Payload Role="X" id="atom2" projectkeys="test 2016,Test 2016">

     <Project xmlns="">

          <Code>test 2016</Code>

          <Name>Test 2016</Name>

          <ValidFrom>2016-01-01</ValidFrom>

          <ValidTo>2016-12-31</ValidTo>

          <Active>tYES</Active>

     </Project>

</Payload>

brings following result:


<Payload Role="C" id="atom1" system="0010000101" systype="B1.9.0" b1login="Technical User" status="success" serviceid="ProjectsService" type="Add method" method="addProject" requeststr="ProjectParams" requestkeys="Code,Name" requestmethod="getProject" keyvalues="test 2016,Test 2016" ptype="synchronous" payload="atom2" DIresult="success" DImsg="ProjectsService.addProject(...) has been invoked.">

     <GetOrDelete xmlns="">

          <ProjectParams>

               <Code>test 2016</Code>

               <Name>Test 2016</Name>

          </ProjectParams>

     </GetOrDelete>

</Payload>

Best regards

Bastian

0 Kudos

Thank you Sabastian:

   really appreicate the full detailed description. but can you show me how you incorporate the two value in the key value tag? 

   when I do something like

/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom9']/Project/Code, /vpf:Msg/vpf:Body/vpf:Payload[./@id='atom9']/Project/Name

it doesn't like it.

bastian_schaefer
Active Contributor
0 Kudos

Hi,

in my example, i read it from an attribute projectkeys, which I filled with following values "test 2016,Test 2016" in my referenced atom2 using xslt statement "concat()".

The path to my attribute is maintained in parameter "Key Values" of the B1 service call atom: /vpf:Msg/vpf:Body/vpf:Payload[./@id='atom2']/@projectkeys

Best regards

Bastian

0 Kudos

Hello Bastian:

   Maybe it is the version that I was using (a 8.82 B1if) . but using code (without name) as parameter seem to be working as well. I actually trid the code and name as your described and it didn't work.

  But either way. this was most helpful! Thank you so much!

Answers (0)