Quantcast
Channel: Microsoft Dynamics CRM Forum - Recent Threads
Viewing all articles
Browse latest Browse all 46379

RetrieveAllEntities by WS in Java

$
0
0

Hello,
I have installed a MS CRM 2016 on premise on an Azure VM which works fine.
I have to develop a web serices client using java. I have generated my stubs with apache axis2 and I can call create, retrieve, retrieveMultiple.
Example :

public static void retrieveById(String entity, String sid) {
	try {
		OrganizationServiceStub stub = new OrganizationServiceStub(endPoint);

		Retrieve r = new OrganizationServiceStub.Retrieve();
		r.setEntityName(entity);

		OrganizationServiceStub.Guid id = new OrganizationServiceStub.Guid();
		id.setGuid(sid);
		r.setId(id);

		OrganizationServiceStub.ColumnSet cs = new OrganizationServiceStub.ColumnSet();
		cs.setAllColumns(true);

		r.setColumnSet(cs);

		stub = stubDecorator(stub);

		OrganizationServiceStub.RetrieveResponse rr = stub.retrieve(r);

		Entity e = rr.getRetrieveResult();
		System.out.println("Uuid : " + e.getId());
		System.out.println("To String : " + e.toString());

		AttributeCollection attrs = e.getAttributes();
		KeyValuePairOfstringanyType[] kvs = attrs.getKeyValuePairOfstringanyType();
		for (KeyValuePairOfstringanyType kv : kvs) {
			System.out.println("\t" + kv.getKey() + " : " + kv.getValue());
		}
		System.out.println("--------------------------");

		logRequest(stub);

	} catch (RemoteException | IOrganizationService_Retrieve_OrganizationServiceFaultFault_FaultMessage e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

Now I want to call the 'execute' methode to liast all entities 'RetrieveAllEntities'. Here is what I have done:

try {
	stub = new OrganizationServiceStub(endPoint);

	Execute ex = new OrganizationServiceStub.Execute();
	OrganizationRequest or = new OrganizationRequest();
	or.setRequestName("RetrieveAllEntities");

	ParameterCollection pc = new ParameterCollection();
	KeyValuePairOfstringanyType kv = new KeyValuePairOfstringanyType();
	kv.setKey("EntityFilters");
	EntityFilters ef = new EntityFilters();
	ef.setEntityFilters_type0(new EntityFilters_type0[]{EntityFilters_type0.Entity});
	kv.setValue(ef);
	pc.addKeyValuePairOfstringanyType(kv);

	or.setParameters(pc);
	ex.setRequest(or);

	stub = stubDecorator(stub);

	ExecuteResponse resp = stub.execute(ex);

} catch (Exception e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

It seems good for me but I have this error in response:

<?xml version="1.0" encoding="UTF-8"?><s:Envelope xmlns:s="schemas.xmlsoap.org/.../envelope"><s:Body><s:Fault><faultcode xmlns:a="schemas.microsoft.com/.../dispatcher">a:DeserializationFailed</faultcode><faultstring xml:lang="en-US">The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter schemas.microsoft.com/.../Services:request. The InnerException message was 'Element value from namespace schemas.datacontract.org/.../System.Collections.Generic cannot have child contents to be deserialized as an object. Please use XmlNode[] to deserialize this pattern of XML.'.  Please see InnerException for more details.</faultstring></s:Fault></s:Body></s:Envelope>

Here is the generated soap request:

<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="schemas.xmlsoap.org/.../envelope"><soapenv:Header/><soapenv:Body><ns5:Execute xmlns:ns5="schemas.microsoft.com/.../Services"><ns5:request><Parameters xmlns="schemas.microsoft.com/.../Contracts"><KeyValuePairOfstringanyType><ns3:key xmlns:ns3="schemas.datacontract.org/.../System.Collections.Generic">EntityFilters</ns3:key><s4:value xmlns:s4="schemas.datacontract.org/.../System.Collections.Generic">Entity</s4:value></KeyValuePairOfstringanyType></Parameters><ns2:RequestName xmlns:ns2="schemas.microsoft.com/.../Contracts">RetrieveAllEntities</ns2:RequestName></ns5:request></ns5:Execute></soapenv:Body></soapenv:Envelope>

How should I configure my query to not have error ?
Best regards.


Viewing all articles
Browse latest Browse all 46379

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>