使用Java连接到Microsoft Dynamics CRM内部部署Web服务?

是否有任何在线资源显示使用Java编写的客户端访问Microsoft CRM内部部署Web服务的基本步骤?

我应该使用哪个Web服务工具包?

我尝试使用JAXB,但WSDL元素命名存在冲突,需要进行类自定义。 如果我找到了正确的绑定修复程序,我会在此处发布。

Microsoft Dynamics CRM应用程序本地版本使用Active Directory身份validation。 虽然我从未尝试过使用Java引用Microsoft Dynamics CRM Web服务,但我确信它是可行的,因为它们是标准Web服务,因此可以通过SOAP从Java引用,就像任何其他Web服务一样。

public class TestCRM { private static String endpointURL = "http://server:port/MSCrmServices/2007/CrmService.asmx"; private static String userName = "username"; private static String password = "password"; private static String host = "server"; private static int portport = port; //To make sure you are using the correct domain open ie and try to reach the service. The same domain you entered there is needed here private static String domain = "DOMAIN"; private static String orgName = "THIS_IS_REQUIRED"; //this does the work.... public static void main(String[] args) { CrmServiceStub stub; try { stub = new CrmServiceStub(endpointURL); setOptions(stub._getServiceClient().getOptions()); RetrieveMultipleDocument rmd = RetrieveMultipleDocument.Factory.newInstance(); RetrieveMultiple rm = RetrieveMultiple.Factory.newInstance(); QueryExpression query = QueryExpression.Factory.newInstance(); query.setColumnSet(AllColumns.Factory.newInstance()); query.setEntityName(EntityName.######.toString()); //query.setFilter... rm.setQuery(query); rmd.setRetrieveMultiple(rm); //Now this is required. Without it all i got was 401s errors CrmAuthenticationTokenDocument catd = CrmAuthenticationTokenDocument.Factory.newInstance(); CrmAuthenticationToken token = CrmAuthenticationToken.Factory.newInstance(); token.setAuthenticationType(0); token.setOrganizationName(orgName); catd.setCrmAuthenticationToken(token); boolean fetchNext = true; while(fetchNext){ RetrieveMultipleResponseDocument rmrd = stub.RetrieveMultiple(rmd, catd, null, null); RetrieveMultipleResponse rmr = rmrd.getRetrieveMultipleResponse(); BusinessEntityCollection bec = rmr.getRetrieveMultipleResult(); String pagingCookie = bec.getPagingCookie(); fetchNext = bec.getMoreRecords(); ArrayOfBusinessEntity aobe = bec.getBusinessEntities(); BusinessEntity[] myEntitiesAtLast = aobe.getBusinessEntityArray(); for(int i=0; i 

Java – > SOAP – > MS CRM 2011 Online:http: //zsvoboda.blogspot.com/2011/03/connecting-to-microsoft-crm-2011-online.html

存根是使用Apache Axis2框架创建的。

你可以在这里找到资源。 您甚至可以使用Dynamics CRM SDK中的示例。 正如Manuel Freiholz所说,你必须使用Axis2。

https://msdn.microsoft.com/en-us/library/jj602979(v=crm.5).aspx

http://blogs.msdn.com/b/dynamics-coe/archive/2013/09/21/integrating-microsoft-dynamics-crm-2011-online-with-java-and-other-non-net-clients。 ASPX

或者,您可以通过Dynamics提供的OData接口使用RESTFul Web服务( https://msdn.microsoft.com/en-us/library/gg334279.aspx

Interesting Posts