Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

RepositoryFrameworkWS CreateDocument method empty parameters

Former Member
0 Likes
513

Hi dear Experts!

Im trying to create file on portal KM from ABAP using RepositoryFrameworkWS webservice CreateDocument method.
I tested it in wsnavigator and its ok.
Then I had created proxy cass and logical port as in howto... and it seems to be ok.

I generated empty test xml and filled required parameters

<n0:parentCollectionRid>/documents/test</n0:parentCollectionRid>
<n0:childName>test</n0:childName>
<n0:overwriteEnforced>true</n0:overwriteEnforced> 

all others are nillable (optional) so I left them empty...


so my xml looks this way

- <n0:createDocument xmlns:n0="urn:RepositoryFrameworkWSVi">
  <n0:parentCollectionRid>/documents/test</n0:parentCollectionRid>
  <n0:childName>test</n0:childName>
- <n0:orderPosition>
  <n1:referenceResourceName xmlns:n1="urn:com.sap.netweaver.bc.rf.ws.namespace" />
  <n1:type xmlns:n1="urn:com.sap.netweaver.bc.rf.ws.namespace" />
  </n0:orderPosition>
  <n0:overwriteEnforced>true</n0:overwriteEnforced>
- <n0:lockDescriptor>
  <n2:depth xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock" />
  <n2:scope xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock" />
  <n2:timeout xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock" />
  <n2:type xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock" />
  </n0:lockDescriptor>
- <n0:properties>
- <n3:Property xmlns:n3="urn:com.sap.netweaver.bc.rf.ws.property">
  <n3:description />
  <n3:hidden />
  <n3:live />
  <n3:localName />
  <n3:multivalued />
  <n3:namespace />
  <n3:propertyName />
  <n3:readonly />
  <n3:required />
  <n3:type />
  <n3:value />
  </n3:Property>
- <n3:Property xmlns:n3="urn:com.sap.netweaver.bc.rf.ws.property">
  <n3:description />
  <n3:hidden />
  <n3:live />
  <n3:localName />
  <n3:multivalued />
  <n3:namespace />
  <n3:propertyName />
  <n3:readonly />
  <n3:required />
  <n3:type />
  <n3:value />
  </n3:Property>
  </n0:properties>
- <n0:content>
  <n4:content xmlns:n4="urn:com.sap.netweaver.bc.rf.ws.content" />
- <n4:metadata xmlns:n4="urn:com.sap.netweaver.bc.rf.ws.content">
  <n4:eTag />
  <n4:encoding />
  <n4:expires />
  <n4:language />
  <n4:lastModified />
  <n4:length />
  <n4:type />
  </n4:metadata>
  </n0:content>
- <n0:fetchGroup>
  <n5:generateGuid xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup" />
  <n5:includeContentMetadata xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup" />
  <n5:includeProperties xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup" />
  <n5:includeUrls xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup" />
- <n5:selectPropertyNames xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">
  <n6:String xmlns:n6="urn:java/lang" />
  <n6:String xmlns:n6="urn:java/lang" />
  </n5:selectPropertyNames>
- <n5:selectUrlTypes xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">
  <n6:int xmlns:n6="urn:java/lang" />
  <n6:int xmlns:n6="urn:java/lang" />
  </n5:selectUrlTypes>
  </n0:fetchGroup>
  </n0:createDocument>


when I run test webservice it returns java error message that property type is incorrect


  <n1:messageText>Called method with illegal constant 0 for parameter properties[i1].getType()!</n1:messageText>
  <n1:methodSignature>createDocument(String, String, OrderPosition, boolean, LockDescriptor, Property[], Content,

FetchGroup)</n1:methodSignature>
  <n1:parameterName>properties[i1].getType()</n1:parameterName>
  </n0:createDocument_com.sap.netweaver.bc.rf.ws.exception.InvalidParameterException>

Can you please explain how to config xml with empty properties(without properties)?

Also if someone ever tried, can you please give a ABAP code example how to fill parameters for xml ecpecially CONTENT and
content length (I convert string to base64 and dont know how to count length value for content).

Appreciate any help.
Nadya.

2 REPLIES 2
Read only

Former Member
0 Likes
451

I made valid xml  with empty parameters from se80 - > test

- <n0:createDocument xmlns:n0="urn:RepositoryFrameworkWSVi">

<n0:parentCollectionRid>/documents/test</n0:parentCollectionRid>

<n0:childName>test</n0:childName>

- <n0:orderPosition>

<n1:referenceResourceName xsi:nil="true" xmlns:n1="urn:com.sap.netweaver.bc.rf.ws.namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n1:type xmlns:n1="urn:com.sap.netweaver.bc.rf.ws.namespace">0</n1:type>

</n0:orderPosition>

<n0:overwriteEnforced>true</n0:overwriteEnforced>

- <n0:lockDescriptor>

<n2:depth xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock">0</n2:depth>

<n2:scope xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock">0</n2:scope>

<n2:timeout xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock">0</n2:timeout>

<n2:type xmlns:n2="urn:com.sap.netweaver.bc.rf.ws.lock">0</n2:type>

</n0:lockDescriptor>

<n0:properties xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

- <n0:content>

<n4:content xsi:nil="true" xmlns:n4="urn:com.sap.netweaver.bc.rf.ws.content" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

- <n4:metadata xmlns:n4="urn:com.sap.netweaver.bc.rf.ws.content">

<n4:eTag xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n4:encoding xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n4:expires xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n4:language xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n4:lastModified xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

<n4:length>0</n4:length>

<n4:type xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />

</n4:metadata>

</n0:content>

- <n0:fetchGroup>

<n5:generateGuid xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">false</n5:generateGuid>

<n5:includeContentMetadata xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">false</n5:includeContentMetadata>

<n5:includeProperties xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">0</n5:includeProperties>

<n5:includeUrls xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">0</n5:includeUrls>

- <n5:selectPropertyNames xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">

<n6:String xmlns:n6="urn:java/lang" />

<n6:String xmlns:n6="urn:java/lang" />

</n5:selectPropertyNames>

- <n5:selectUrlTypes xmlns:n5="urn:com.sap.netweaver.bc.rf.ws.lookup">

<n6:int xmlns:n6="urn:java/lang">0</n6:int>

<n6:int xmlns:n6="urn:java/lang">0</n6:int>

</n5:selectUrlTypes>

</n0:fetchGroup>

</n0:createDocument>

now I  need help how to fill input with empty parameters from  ABAP using

   TRY.
  CREATE OBJECT proxy
   EXPORTING logical_port_name = 'ZTEST'.
CALL METHOD proxy->CREATE_DOCUMENT
EXPORTING
  INPUT = input
IMPORTING
  OUTPUT = output.
  CATCH CX_AI_SYSTEM_FAULT.
  CATCH CX_AI_APPLICATION_FAULT.
ENDTRY.

Read only

0 Likes
451

At list, I can create file in KM from ABAP, but still can't fill it with content

the output type for content are Abap attributes -Techn. Type RAWSTRING and  XSD TYP - xsd:base64Binary, does anyone know how to convert content to be valid for WS? and what LENGTH should be used for content length parameter?