/ / L'interfaccia SOAP di Microsoft CRM 2015 introduce un nuovo spazio dei nomi, ma non riesco a trovarlo nel OrganisationServiceStub generato? - wsdl, axis, wsdl2java, xrm

L'interfaccia SOAP di Microsoft CRM 2015 introduce un nuovo spazio dei nomi, ma non riesco a trovarlo nel OrganisationServiceStub generato? - wsdl, axis, wsdl2java, xrm

Abbiamo utilizzato con successo l'interfaccia SOAP di Microsoft CRM online per alcuni anni, ma con l'introduzione della versione 7.1 vediamo le voci di risposta SOAP come questa

<b:KeyAttributes xmlns:d="http://schemas.microsoft.com/xrm/7.1/Contracts" />

Quando controllo il WSDL dell'endpoint del servizio, posso vedere la dichiarazione, tuttavia quando voglio generare un nuovo OrganisationServiceStub, questo spazio dei nomi non viene prelevato. Questo è il comando che uso

D:Softwareaxis2-1.6.2-binaxis2-1.6.2bin>WSDL2Java -uri https://microsoft.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p java2crmpack -s -o D:XRMClient

L'effetto sul codice esistente è un errore quando invochiamo (analizziamo la risposta al sapone) il webservice

org.apache.axis2.databinding.ADBException: Unexpected subelement {http://schemas.microsoft.com/xrm/2011/Contracts}KeyAttributes

Naturalmente comincio ad isolare questo particolarespazio dei nomi e fare un po 'di codifica manuale, ma penso che questo dovrebbe essere rilevato dagli strumenti dell'Asse, giusto? Sono sicuro che i file .java sono stati generati (ho prenotato una cartella nuova di zecca :-)

risposte:

0 per risposta № 1

Abbiamo anche riscontrato questo problema non appena è stata rilasciata la versione 7.1. L'ho risolto rigenerando le classi di stub. Il sito Web di Microsoft fornisce istruzioni dettagliate su come eseguire questa operazione qui: https://msdn.microsoft.com/en-us/library/jj602979%28v=crm.5%29.aspx . Una volta che ho rigenerato gli stub e sostituito quelli vecchi, tutto ha funzionato di nuovo bene. Spero che questo ti aiuti!


0 per risposta № 2

quando dici 7.1, ti riferisci alla versione jdk ??

WSDL2Java -uri https://disco.crm.dynamics.com/XRMServices/2011/Discovery.svc?wsdl -p java2crmpack -s -o c: projectsJava2CRMCRUD

WSDL2Java -uri https://yourcrmonlineinstance.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p java2crmpack -s -o c: projectsJava2CRMCRUD

Questo è ciò che intendi?

Ho anche cancellato urn: namespace e niente, non funziona per me ... :(