我正在为 Windows Phone 7 构建一个 Moodle 客户端,以了解 WP7 和 PHP 之间的互操作性。首先,当然我必须调用 Moodle 网络服务。
我已经运行了两台 Moodle 服务器,Moodle 1.9 和 Moodle 2.0。我正在使用 OK Tech 网络服务使其与 Windows Phone 客户端一起工作,因为来自 Moodle 论坛的人们说这个网络服务是最好的之一。我已经使用 SoapUI 检查了 Web 服务,并且这些方法运行良好;我可以打电话给他们并完全得到响应消息。现在,我正在我的本地主机上处理它。
我试图从我的 Windows Phone 客户端调用它。我做了这些步骤:
- 右键单击服务引用并选择“添加服务引用”(因为没有“添加 Web 引用”)
- 记下地址
http://localhost:86/moodle/wspp/wsdl_pp2.php
,然后单击“Go”。
那里列出了这些方法,例如 login()、getAllCourses() 等,这意味着 wsdl 工作正常。所以我将服务引用命名为 WSPP 并按下 OK。
在我的 MainPage.xaml.cs 页面上,我添加了“使用 MoodleClient.WSPP;” 在顶部并添加了一个按钮单击方法来调用 Web 服务操作。我补充说:
MoodleWSPortTypeClient mws = new MoodleWSPortTypeClient();
...但后来我有点卡住了,我找不到 mws 下列出的方法。我哪里做错了?PortTypeClient 下通常列出的方法吗?如果没有,我该如何让这些方法起作用?