我们已经成功使用 Microsoft CRM online 的 SOAP 接口几年了,但是随着版本 7.1 的引入,我们在 SOAP 响应条目中看到这样
<b:KeyAttributes xmlns:d="http://schemas.microsoft.com/xrm/7.1/Contracts" />
当我检查服务端点的 WSDL 时,我可以看到声明,但是当我想生成一个新的 OrganisationServiceStub 时,这个命名空间没有被拾取。这是我使用的命令
D:\Software\axis2-1.6.2-bin\axis2-1.6.2\bin>WSDL2Java -uri https://microsoft.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p java2crmpack -s -o D:\XRM\Client
当我们调用(解析soap响应)webservice时,对现有代码的影响是一个错误
org.apache.axis2.databinding.ADBException: Unexpected subelement {http://schemas.microsoft.com/xrm/2011/Contracts}KeyAttributes
当然,我开始隔离这个特定的命名空间并进行一些手动编码,但我认为这应该由 Axis 工具来处理,对吧?我确定生成了 .java 文件(我保留了一个全新的文件夹:-)