JavaScript Web Service Calls教程,及运行时出现版本不匹配错误

来源:互联网 发布:广西机保数据采集系统 编辑:程序博客网 时间:2024/05/19 04:51

1、首先配置Web References的引用右击webservice的名称--》属性---》修改服务器地址  Web引用URL

 

2、如果重新引用Webservice会出现一定的差异,引用后的Web引用URL可能是:http://<servername[:port]>/MSCRMServices/2006/CrmServiceWsdl.aspx

但是这样引用后会出现soap版本不匹配(仅在crm4.0下测试过)

 

 

解决方法:把Web引用URLhttp://<servername[:port]>/MSCRMServices/2006/CrmServiceWsdl.aspx改成http://<servername[:port]>//mscrmservices/2006/crmservice.asmx

 

在crm 4.0中重新添加引用不会出现http://<servername[:port]>//mscrmservices/2006/crmservice.asmx这种形式的url,而会出项http://<servername[:port]>//MSCRMServices/2006/CrmServiceWsdl.aspx

 

3、如果你的crmweb服务器是多组织的版本你需要这样的http://<servername[:port]>/mscrmservices/2007/crmservice.asmx?WSDL&uniquename=organizationName(组织名称)

 

4、修改start按钮下的代码,使其能够从界面上接收xml代码,运行工具,在request中粘贴上xml代码点击start按钮自动生成JavaScript code

start事件下的代码如下:

  

 

有些不方便的是我们通常还需要用到多个对象(LinkEntity来关联),多个过滤条件等,对于大小写敏感且无自动感知的javascript来说很难写。既然我们已经了解了如何客户端调用CRM Web Service,这里我们再给大家介绍一个工具用来简化上述一系列问题:用FetchXmlWizard工具来生成请求的XML(用来检索对象的语法称为FetchXML),并将验证过的FetchXML发给JavaScript Web Service Calls工具来生成标准的Client-side javascript代码。这两个工具你都可以很方便的在http://www.stunnware.com/网站下载。下边简单说说如何来用这两个工具:

1. 首先打开FetchXMLWizard.exe文件,在弹出的链接CRM Server的窗口中输入相关信息,然后确定。

        

2. 在空白区域右击并选择Add Main Entity(only choice now),然后再弹出的选择实体框中选择一个实体,这里我们选择Account.

3. 右键点击Account并选择Select Attributes, 在弹出的对话框中选择你想要选择的属性。

4,接下来我们可以通过右键来添加任意我们想要的东西,比如Link Entity, Add Filter等,都比较简单,我们不一一概述。需要提及的一点是Add Filter,在Add Filter之后我们需要再右键点击来给Filter加入Condition,因为一个Filter实际上是包含多个Condition的并且每个Condition之间还有关系。在Specify Condition窗体中选择相应的字段和关系,并输入你的条件值即可,在这里我们可以看到很多关系(根据类型的不同,关系也会有所改变)

5. 一切做完之后,转到Fetch XML tab页我们就看到生成的FetchXML了,这里我们已经成功了一大半(你仍然可以通过选择(Query->Execute)或F5来验证你的结果。)

6. 最后一步了,我们将生成的FetchXML交给Javascript Web Service Call tool去生成Javascript code. 这个工具是个.NET项目,你首先需要打开解决方案并更改其对web service的正确引用,并在app.config中将CRM server的地址更改正确。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        。。。。。。

     </configSections>
    <applicationSettings>
        <Stunnware.Tools.Properties.Settings>
            <setting
                serializeAs="String">
                <value>http://SERVER_NAME/MSCrmServices/2007/CrmService.asmx</value>
            </setting>
        </Stunnware.Tools.Properties.Settings>
    </applicationSettings>
</configuration>

然后运行程序,将上边生成的FetchXML拷贝到request栏里,点击Start按钮

xm代码的生成工具及更多信息 http://liuzujun0608.blog.163.com/blog/static/26663017200972454056771/

原创粉丝点击