我们几年来一直在使用Microsoft CRM的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文件(我保留了一个全新的文件夹: - )
答案 0 :(得分:0)
7.1发布后我们也遇到了这个问题。我通过重新生成存根类来修复它。 Microsoft网站提供了有关如何执行此操作的分步说明:https://msdn.microsoft.com/en-us/library/jj602979%28v=crm.5%29.aspx。一旦我重新生成了存根并替换了旧存根,一切都恢复正常。希望这有帮助!
答案 1 :(得分:0)
当你说7.1时,你参考jdk版本??
WSDL2Java -uri https://disco.crm.dynamics.com/XRMServices/2011/Discovery.svc?wsdl -p java2crmpack -s -o c:\ projects \ Java2CRMCRUD
WSDL2Java -uri https://yourcrmonlineinstance.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p java2crmpack -s -o c:\ projects \ Java2CRMCRUD
那是什么意思?
我也删除了urn:namespace并没有,它对我不起作用...... :(