0

我们已经成功使用 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 文件(我保留了一个全新的文件夹:-)

4

2 回答 2

0

当你说7.1时,你指的是jdk版本吗?

WSDL2Java -uri https://disco.crm.dynamics.com/XRMServices/2011/Discovery.svc?wsdl -p java2crmpack -s -oc:\projects\Java2CRMCRUD

WSDL2Java -uri https://yourcrmonlineinstance.crm.dynamics.com/XRMServices/2011/Organization.svc?wsdl -p java2crmpack -s -oc:\projects\Java2CRMCRUD

这就是你的意思?

我还删除了 urn: namespace 什么都没有,它对我不起作用...... :(

于 2016-08-03T07:26:14.660 回答
0

7.1 发布后,我们也遇到了这个问题。我通过重新生成存根类来修复它。Microsoft 网站在此处提供了有关如何执行此操作的分步说明:https ://msdn.microsoft.com/en-us/library/jj602979%28v=crm.5%29.aspx 。一旦我重新生成了存根并替换了旧的存根,一切都会再次正常工作。希望这可以帮助!

于 2015-12-07T04:32:32.763 回答